deskflow/CI/Linux/linux-build.yml
Jnewbon 448a787ab8
Migrated to Azure pipline for CI and builds
Also added Deb 10 to CI and builds
2020-07-08 13:17:06 +01:00

141 lines
6.2 KiB
YAML

steps:
- script: |
mkdir build-release
cd build-release
if [ -z $(which cmake) ]; then cmake3 -DCMAKE_BUILD_TYPE=Release ..; else cmake -DCMAKE_BUILD_TYPE=Release ..; fi
make -j
condition: eq(variables['packager'],'deb')
displayName: 'Build Release deb'
- script: |
mkdir build-release
cd build-release
if [ -z $(which cmake) ]; then
cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
else cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
fi
make -j
make install/strip
condition: eq(variables['packager'],'rpm')
displayName: 'Build Release rpm'
- script: |
mkdir build-ent
cd build-ent
export SYNERGY_ENTERPRISE=1
if [ -z $(which cmake) ]; then cmake3 -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON ..; else cmake -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON ..; fi
make -j
displayName: 'Build enterprise'
condition: eq(variables['packager'],'deb')
- script: |
mkdir build-ent
cd build-ent
if [ -z $(which cmake) ]; then
cmake3 -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
else cmake -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
fi
make -j
make install/strip
condition: eq(variables['packager'],'rpm')
displayName: 'Build enterprise rpm'
- script: |
. ./build-release/version
SYNERGY_VERSION="$SYNERGY_VERSION_MAJOR.$SYNERGY_VERSION_MINOR.$SYNERGY_VERSION_PATCH"
SYNERGY_REVISION=`git rev-parse --short=8 HEAD`
SYNERGY_DEB_VERSION="${SYNERGY_VERSION}.${SYNERGY_VERSION_STAGE}~b$(Build.BuildNumber)+${SYNERGY_REVISION}"
SYNERGY_RPM_VERSION="${SYNERGY_VERSION}-$(Build.BuildNumber).${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}"
echo "##vso[task.setvariable variable=SYNERGY_VERSION_STAGE]${SYNERGY_VERSION_STAGE}"
echo "##vso[task.setvariable variable=SYNERGY_VERSION]${SYNERGY_VERSION}"
echo "##vso[task.setvariable variable=SYNERGY_REVISION]${SYNERGY_REVISION}"
echo "##vso[task.setvariable variable=SYNERGY_DEB_VERSION]${SYNERGY_DEB_VERSION}"
echo "##vso[task.setvariable variable=SYNERGY_RPM_VERSION]${SYNERGY_RPM_VERSION}"
displayName: "Setup variables"
condition: and(eq(variables['packager'],'deb'), eq(variables['Build.Reason'], 'Manual'))
- script: |
dch --create --package "synergy" --controlmaint --distribution unstable --newversion $SYNERGY_DEB_VERSION "Initial release"
export DEB_BUILD_OPTIONS="parallel=8"
export GPG_TTY=$(tty)
debuild --preserve-envvar SYNERGY_* -us -uc
mkdir standard_package
cd ..
filename=$(ls synergy_*.deb)
filename_new="synergy_${SYNERGY_DEB_VERSION}_$(name)${filename##*${SYNERGY_REVISION}}"
mv $filename $(Build.Repository.LocalPath)/standard_package/$filename_new
cd $(Build.Repository.LocalPath)/standard_package
md5sum $filename_new >> ${filename_new}.md5
sha1sum $filename_new >> ${filename_new}.sha1
sha256sum $filename_new >> ${filename_new}.sha256
ls -la
displayName: "Package Binary DEB(Standard)"
condition: and(eq(variables['packager'],'deb'), eq(variables['Build.Reason'], 'Manual'))
- script: |
export SYNERGY_ENTERPRISE=1
dch --create --package "synergy-enterprise_" --controlmaint --distribution unstable --newversion $(SYNERGY_DEB_VERSION) "Initial release"
export DEB_BUILD_OPTIONS="parallel=8"
export GPG_TTY=$(tty)
debuild --preserve-envvar SYNERGY_* -us -uc
mkdir enterprise_package
cd ..
filename=$(ls synergy_*.deb)
filename_new="synergy-enterprise_$(SYNERGY_DEB_VERSION)_$(name)${filename##*$(SYNERGY_REVISION)}"
mv $filename $(Build.Repository.LocalPath)/enterprise_package/$filename_new
cd $(Build.Repository.LocalPath)/enterprise_package
md5sum $filename_new >> ${filename_new}.md5
sha1sum $filename_new >> ${filename_new}.sha1
sha256sum $filename_new >> ${filename_new}.sha256
ls -la
displayName: "Package Binary DEB(Enterprise)"
condition: and(eq(variables['packager'],'deb'), eq(variables['Build.Reason'], 'Manual'))
- script: |
cd build-release/rpm
rpmbuild -bb --define "_topdir $(pwd)" --buildroot $(pwd)/BUILDROOT synergy.spec
rpmlint --verbose RPMS/x86_64/*.rpm
cd RPMS/x86_64
filename=$(ls *.rpm)
md5sum $filename >> ${filename}.md5
sha1sum $filename >> ${filename}.sha1
sha256sum $filename >> ${filename}.sha256
cd ..
mv x86_64 $(Build.Repository.LocalPath)/standard_package
displayName: "Package Binary RPM(standard)"
condition: and(eq(variables['packager'],'rpm'), eq(variables['Build.Reason'], 'Manual'))
- script: |
cd build-ent/rpm
rpmbuild -bb --define "_topdir $(pwd)" --buildroot $(pwd)/BUILDROOT synergy.spec
rpmlint --verbose RPMS/x86_64/*.rpm
cd RPMS/x86_64
filename=$(ls *.rpm)
md5sum $filename >> ${filename}.md5
sha1sum $filename >> ${filename}.sha1
sha256sum $filename >> ${filename}.sha256
cd ..
mv x86_64 $(Build.Repository.LocalPath)/enterprise_package
ls -la
displayName: "Package Binary RPM(enterprise)"
condition: and(eq(variables['packager'],'rpm'), eq(variables['Build.Reason'], 'Manual'))
- task: CopyFilesOverSSH@0
inputs:
sshEndpoint: 'Azure on Sandor'
sourceFolder: './standard_package'
contents: '*'
targetFolder: 'synergy-core/v1-core-standard/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/$(SYNERGY_REVISION)/'
readyTimeout: '20000'
displayName: 'Send standard Package to sandor'
condition: eq(variables['Build.Reason'], 'Manual')
- task: CopyFilesOverSSH@0
inputs:
sshEndpoint: 'Azure on Sandor'
sourceFolder: './enterprise_package'
contents: '*'
targetFolder: 'synergy-core/v1-core-enterprise/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/$(SYNERGY_REVISION)/'
readyTimeout: '20000'
displayName: 'Send enterprise Package to sandor'
condition: eq(variables['Build.Reason'], 'Manual')