Remove Azure Pipelines config entirely (#7318)
* Remove Azure Pipelines * Update ChangeLog
This commit is contained in:
parent
4c1d5daa00
commit
daf9292c80
12 changed files with 1 additions and 1198 deletions
7
.github/workflows/create-build.yml
vendored
7
.github/workflows/create-build.yml
vendored
|
|
@ -29,10 +29,3 @@ jobs:
|
|||
prerelease: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_EVENT_PROPAGATION_TOKEN }}
|
||||
|
||||
- name: Run build on Azure
|
||||
uses: Azure/pipelines@v1
|
||||
with:
|
||||
azure-devops-project-url: "https://dev.azure.com/symless/synergy-core"
|
||||
azure-pipeline-name: "symless.synergy-core"
|
||||
azure-devops-token: "${{ secrets.AZURE_DEVOPS_TOKEN }}"
|
||||
|
|
|
|||
|
|
@ -1,237 +0,0 @@
|
|||
steps:
|
||||
- script: |
|
||||
command -v python3 >/dev/null 2>&1 && python3 CI/build_version.py || python CI/build_version.py
|
||||
displayName: 'Update Version.cmake'
|
||||
|
||||
- script: |
|
||||
mkdir build-release
|
||||
cd build-release
|
||||
if [ -z $(which cmake) ]; then cmake3 -DCMAKE_BUILD_TYPE=Release ..; else cmake -DCMAKE_BUILD_TYPE=Release ..; fi
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
condition: eq(variables['packager'],'deb')
|
||||
displayName: 'Build Release deb'
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- 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
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
displayName: 'Build Release rpm'
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- 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
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
displayName: 'Build enterprise'
|
||||
condition: eq(variables['packager'],'deb')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- 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
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
displayName: 'Build enterprise rpm'
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
mkdir build-business
|
||||
cd build-business
|
||||
export SYNERGY_BUSINESS=1
|
||||
if [ -z $(which cmake) ]; then cmake3 -DCMAKE_BUILD_TYPE=Release -DSYNERGY_BUSINESS=ON ..; else cmake -DCMAKE_BUILD_TYPE=Release -DSYNERGY_BUSINESS=ON ..; fi
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
displayName: 'Build business'
|
||||
condition: eq(variables['packager'],'deb')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
mkdir build-business
|
||||
cd build-business
|
||||
if [ -z $(which cmake) ]; then
|
||||
cmake3 -DCMAKE_BUILD_TYPE=Release -DSYNERGY_BUSINESS=ON -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
|
||||
else cmake -DCMAKE_BUILD_TYPE=Release -DSYNERGY_BUSINESS=ON -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..;
|
||||
fi
|
||||
. ./version
|
||||
make -j$(makeJobsLimit)
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
displayName: 'Build business rpm'
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- 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}.${SYNERGY_REVISION}"
|
||||
SYNERGY_RPM_VERSION="${SYNERGY_VERSION}-${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_VERSION_BUILD]${SYNERGY_VERSION_BUILD}"
|
||||
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"
|
||||
|
||||
- script: |
|
||||
python3 CI/deb_changelog.py synergy "${SYNERGY_DEB_VERSION}"
|
||||
export GPG_TTY=$(tty)
|
||||
debuild --preserve-envvar SYNERGY_* --preserve-envvar GIT_COMMIT -us -uc
|
||||
mkdir standard_package
|
||||
cd ..
|
||||
filename=$(ls synergy_*.deb)
|
||||
filename_new="synergy_${SYNERGY_VERSION}-${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}_$(name)${filename##*${SYNERGY_REVISION}}"
|
||||
mv $filename $(Build.Repository.LocalPath)/standard_package/$filename_new
|
||||
cd $(Build.Repository.LocalPath)/standard_package
|
||||
md5sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha1sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha256sum $filename_new >> ${filename_new}.checksum.txt
|
||||
ls -la
|
||||
displayName: "Package Binary DEB(Standard)"
|
||||
condition: eq(variables['packager'],'deb')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
export SYNERGY_ENTERPRISE=1
|
||||
python3 CI/deb_changelog.py synergy "${SYNERGY_DEB_VERSION}"
|
||||
export GPG_TTY=$(tty)
|
||||
debuild --preserve-envvar SYNERGY_* --preserve-envvar GIT_COMMIT -us -uc
|
||||
mkdir enterprise_package
|
||||
cd ..
|
||||
filename=$(ls synergy_*.deb)
|
||||
filename_new="synergy-enterprise_${SYNERGY_VERSION}-${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}_$(name)${filename##*$(SYNERGY_REVISION)}"
|
||||
mv $filename $(Build.Repository.LocalPath)/enterprise_package/$filename_new
|
||||
cd $(Build.Repository.LocalPath)/enterprise_package
|
||||
md5sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha1sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha256sum $filename_new >> ${filename_new}.checksum.txt
|
||||
ls -la
|
||||
displayName: "Package Binary DEB(Enterprise)"
|
||||
condition: eq(variables['packager'],'deb')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
export SYNERGY_BUSINESS=1
|
||||
python3 CI/deb_changelog.py synergy "${SYNERGY_DEB_VERSION}"
|
||||
export GPG_TTY=$(tty)
|
||||
debuild --preserve-envvar SYNERGY_* --preserve-envvar GIT_COMMIT -us -uc
|
||||
mkdir business_package
|
||||
cd ..
|
||||
filename=$(ls synergy_*.deb)
|
||||
filename_new="synergy-business_${SYNERGY_VERSION}-${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}_$(name)${filename##*$(SYNERGY_REVISION)}"
|
||||
mv $filename $(Build.Repository.LocalPath)/business_package/$filename_new
|
||||
cd $(Build.Repository.LocalPath)/business_package
|
||||
md5sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha1sum $filename_new >> ${filename_new}.checksum.txt
|
||||
sha256sum $filename_new >> ${filename_new}.checksum.txt
|
||||
ls -la
|
||||
displayName: "Package Binary DEB(Business)"
|
||||
condition: eq(variables['packager'],'deb')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
cd build-release
|
||||
make install/strip
|
||||
cd rpm
|
||||
rpmbuild -bb --define "_topdir $(pwd)" --buildroot $(pwd)/BUILDROOT synergy.spec
|
||||
rpmlint --verbose RPMS/*.rpm
|
||||
cd RPMS
|
||||
filename=$(ls *.rpm)
|
||||
md5sum $filename >> ${filename}.checksum.txt
|
||||
sha1sum $filename >> ${filename}.checksum.txt
|
||||
sha256sum $filename >> ${filename}.checksum.txt
|
||||
cd ..
|
||||
mv RPMS $(Build.Repository.LocalPath)/standard_package
|
||||
displayName: "Package Binary RPM(standard)"
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
cd build-ent
|
||||
make install/strip
|
||||
cd rpm
|
||||
rpmbuild -bb --define "_topdir $(pwd)" --buildroot $(pwd)/BUILDROOT synergy-enterprise.spec
|
||||
rpmlint --verbose RPMS/*.rpm
|
||||
cd RPMS
|
||||
filename=$(ls *.rpm)
|
||||
md5sum $filename >> ${filename}.checksum.txt
|
||||
sha1sum $filename >> ${filename}.checksum.txt
|
||||
sha256sum $filename >> ${filename}.checksum.txt
|
||||
cd ..
|
||||
mv RPMS $(Build.Repository.LocalPath)/enterprise_package
|
||||
ls -la
|
||||
displayName: "Package Binary RPM(enterprise)"
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- script: |
|
||||
cd build-business
|
||||
make install/strip
|
||||
cd rpm
|
||||
rpmbuild -bb --define "_topdir $(pwd)" --buildroot $(pwd)/BUILDROOT synergy-business.spec
|
||||
rpmlint --verbose RPMS/*.rpm
|
||||
cd RPMS
|
||||
filename=$(ls *.rpm)
|
||||
md5sum $filename >> ${filename}.checksum.txt
|
||||
sha1sum $filename >> ${filename}.checksum.txt
|
||||
sha256sum $filename >> ${filename}.checksum.txt
|
||||
cd ..
|
||||
mv RPMS $(Build.Repository.LocalPath)/business_package
|
||||
ls -la
|
||||
displayName: "Package Binary RPM(business)"
|
||||
condition: eq(variables['packager'],'rpm')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: './standard_package'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-standard/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send standard package to Binary Storage'
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: './enterprise_package'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-enterprise/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send enterprise package to Binary Storage'
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: './business_package'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-business/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send business package to Binary Storage'
|
||||
|
|
@ -1,150 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import os.path
|
||||
|
||||
# Use like this: dmgbuild -s settings.py "Test Volume" test.dmg
|
||||
# dmgbuild -s settings.py -D app=/path/to/My.app "My Application" MyApp.dmg
|
||||
|
||||
# .. Useful stuff ..............................................................
|
||||
|
||||
application = defines.get('app', 'Synergy.app')
|
||||
appname = os.path.basename(application)
|
||||
|
||||
# .. Basics ....................................................................
|
||||
|
||||
# Volume format (see hdiutil create -help)
|
||||
format = defines.get('format', 'UDBZ')
|
||||
|
||||
# Volume size
|
||||
size = defines.get('size', None)
|
||||
|
||||
# Files to include
|
||||
files = [ application ]
|
||||
|
||||
# Symlinks to create
|
||||
symlinks = { 'Applications': '/Applications' }
|
||||
|
||||
# Volume icon
|
||||
#
|
||||
# You can either define icon, in which case that icon file will be copied to the
|
||||
# image, *or* you can define badge_icon, in which case the icon file you specify
|
||||
# will be used to badge the system's Removable Disk icon
|
||||
#
|
||||
icon = os.path.join(application, 'Contents', 'Resources', 'Drive.icns')
|
||||
|
||||
# Where to put the icons
|
||||
icon_locations = {
|
||||
appname: (144, 190),
|
||||
'Applications': (455, 190),
|
||||
'.background.tiff': (150, 450),
|
||||
'.VolumeIcon.icns': (455, 450)
|
||||
}
|
||||
|
||||
# .. Window configuration ......................................................
|
||||
|
||||
# Background
|
||||
#
|
||||
# This is a STRING containing any of the following:
|
||||
#
|
||||
# #3344ff - web-style RGB color
|
||||
# #34f - web-style RGB color, short form (#34f == #3344ff)
|
||||
# rgb(1,0,0) - RGB color, each value is between 0 and 1
|
||||
# hsl(120,1,.5) - HSL (hue saturation lightness) color
|
||||
# hwb(300,0,0) - HWB (hue whiteness blackness) color
|
||||
# cmyk(0,1,0,0) - CMYK color
|
||||
# goldenrod - X11/SVG named color
|
||||
# builtin-arrow - A simple built-in background with a blue arrow
|
||||
# /foo/bar/baz.png - The path to an image file
|
||||
#
|
||||
# The hue component in hsl() and hwb() may include a unit; it defaults to
|
||||
# degrees ('deg'), but also supports radians ('rad') and gradians ('grad'
|
||||
# or 'gon').
|
||||
#
|
||||
# Other color components may be expressed either in the range 0 to 1, or
|
||||
# as percentages (e.g. 60% is equivalent to 0.6).
|
||||
background = defines.get('background', 'builtin-arrow')
|
||||
|
||||
show_status_bar = False
|
||||
show_tab_view = False
|
||||
show_toolbar = False
|
||||
show_pathbar = False
|
||||
show_sidebar = False
|
||||
sidebar_width = 180
|
||||
|
||||
# Window position in ((x, y), (w, h)) format
|
||||
window_rect = ((200, 120), (620, 420))
|
||||
|
||||
# Select the default view; must be one of
|
||||
#
|
||||
# 'icon-view'
|
||||
# 'list-view'
|
||||
# 'column-view'
|
||||
# 'coverflow'
|
||||
#
|
||||
default_view = 'icon-view'
|
||||
|
||||
# General view configuration
|
||||
show_icon_preview = False
|
||||
|
||||
# Set these to True to force inclusion of icon/list view settings (otherwise
|
||||
# we only include settings for the default view)
|
||||
include_icon_view_settings = 'auto'
|
||||
include_list_view_settings = 'auto'
|
||||
|
||||
# .. Icon view configuration ...................................................
|
||||
|
||||
arrange_by = None
|
||||
grid_offset = (0, 0)
|
||||
grid_spacing = 100
|
||||
scroll_position = (0, 0)
|
||||
label_pos = 'bottom' # or 'right'
|
||||
text_size = 16
|
||||
icon_size = 100
|
||||
|
||||
# .. List view configuration ...................................................
|
||||
|
||||
# Column names are as follows:
|
||||
#
|
||||
# name
|
||||
# date-modified
|
||||
# date-created
|
||||
# date-added
|
||||
# date-last-opened
|
||||
# size
|
||||
# kind
|
||||
# label
|
||||
# version
|
||||
# comments
|
||||
#
|
||||
list_icon_size = 16
|
||||
list_text_size = 12
|
||||
list_scroll_position = (0, 0)
|
||||
list_sort_by = 'name'
|
||||
list_use_relative_dates = True
|
||||
list_calculate_all_sizes = False,
|
||||
list_columns = ('name', 'date-modified', 'size', 'kind', 'date-added')
|
||||
list_column_widths = {
|
||||
'name': 300,
|
||||
'date-modified': 181,
|
||||
'date-created': 181,
|
||||
'date-added': 181,
|
||||
'date-last-opened': 181,
|
||||
'size': 97,
|
||||
'kind': 115,
|
||||
'label': 100,
|
||||
'version': 75,
|
||||
'comments': 300,
|
||||
}
|
||||
list_column_sort_directions = {
|
||||
'name': 'ascending',
|
||||
'date-modified': 'descending',
|
||||
'date-created': 'descending',
|
||||
'date-added': 'descending',
|
||||
'date-last-opened': 'descending',
|
||||
'size': 'descending',
|
||||
'kind': 'ascending',
|
||||
'label': 'ascending',
|
||||
'version': 'ascending',
|
||||
'comments': 'ascending',
|
||||
}
|
||||
|
|
@ -1,152 +0,0 @@
|
|||
steps:
|
||||
- task: InstallAppleCertificate@2
|
||||
inputs:
|
||||
certSecureFile: 'AppleSigningCert.cer'
|
||||
certPwd: '$(AppleCertPass)'
|
||||
keychain: 'temp'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
python3 CI/build_version.py
|
||||
displayName: 'Update Version.cmake'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
python3 -m pip install dmgbuild
|
||||
python3 -m pip install aqtinstall==0.11.1
|
||||
displayName: 'Installing utilities'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
python3 -m aqt install $(QT_VERSION) mac desktop -O $(QT_PATH)
|
||||
displayName: 'Installing QT'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
export PATH="$(Qt5_DIR)/bin:$PATH"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=$(version) \
|
||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CONFIGURATION_TYPES=Release ..
|
||||
displayName: 'Cmake standard'
|
||||
condition: eq(variables['buildType'], 'standard')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
CMAKE_PREFIX_PATH: "$(Qt5_DIR);/usr/local/opt/openssl"
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
export PATH="$(Qt5_DIR)/bin:$PATH"
|
||||
export SYNERGY_ENTERPRISE=1
|
||||
mkdir build
|
||||
cd build
|
||||
cmake \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=$(version) \
|
||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CONFIGURATION_TYPES=Release \
|
||||
-DSYNERGY_ENTERPRISE=ON ..
|
||||
displayName: 'Cmake enterprise'
|
||||
condition: eq(variables['buildType'], 'enterprise')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
CMAKE_PREFIX_PATH: "$(Qt5_DIR);/usr/local/opt/openssl"
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
export PATH="$(Qt5_DIR)/bin:$PATH"
|
||||
export SYNERGY_BUSINESS=1
|
||||
mkdir build
|
||||
cd build
|
||||
cmake \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=$(version) \
|
||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CONFIGURATION_TYPES=Release \
|
||||
-DSYNERGY_BUSINESS=ON ..
|
||||
displayName: 'Cmake business'
|
||||
condition: eq(variables['buildType'], 'business')
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
CMAKE_PREFIX_PATH: "$(Qt5_DIR);/usr/local/opt/openssl"
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
export PATH="$(Qt5_DIR)/bin:$PATH"
|
||||
cd build
|
||||
. ./version
|
||||
make -j
|
||||
make install/strip
|
||||
displayName: 'Compiling'
|
||||
env:
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
export PATH="$(Qt5_DIR)/bin:$PATH"
|
||||
macdeployqt $(Build.Repository.LocalPath)/build/bundle/Synergy.app -codesign="$CODESIGN_ID"
|
||||
codesign -f --options runtime --deep -s "$CODESIGN_ID" $(Build.Repository.LocalPath)/build/bundle/Synergy.app
|
||||
ln -s /Applications $(Build.Repository.LocalPath)/build/bundle/Applications
|
||||
displayName: 'Signing'
|
||||
env:
|
||||
CODESIGN_ID: "Developer ID Application: Symless Ltd (4HX897Y6GJ)"
|
||||
|
||||
- script: |
|
||||
. ./build/version
|
||||
SYNERGY_VERSION="$SYNERGY_VERSION_MAJOR.$SYNERGY_VERSION_MINOR.$SYNERGY_VERSION_PATCH"
|
||||
SYNERGY_REVISION=`git rev-parse --short=8 HEAD`
|
||||
SYNERGY_DMG_VERSION="${SYNERGY_VERSION}-${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}"
|
||||
SYNERGY_DMG_FILENAME=$(prefix)_${SYNERGY_DMG_VERSION}_macos_$(platform).dmg
|
||||
echo "##vso[task.setvariable variable=SYNERGY_VERSION_STAGE]${SYNERGY_VERSION_STAGE}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_VERSION_BUILD]${SYNERGY_VERSION_BUILD}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_VERSION]${SYNERGY_VERSION}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_REVISION]${SYNERGY_REVISION}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_DMG_VERSION]${SYNERGY_DMG_VERSION}"
|
||||
echo "##vso[task.setvariable variable=SYNERGY_DMG_FILENAME]${SYNERGY_DMG_FILENAME}"
|
||||
displayName: "Setup variables"
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
dmgbuild \
|
||||
-s CI/MacOS/installator_settings.py \
|
||||
-D app=$(Build.Repository.LocalPath)/build/bundle/Synergy.app \
|
||||
-D background=$(Build.Repository.LocalPath)/build/bundle/Synergy.app/Contents/Resources/.installer_background.tiff \
|
||||
"Synergy" \
|
||||
$(SYNERGY_DMG_FILENAME)
|
||||
mkdir pkg
|
||||
mv $(SYNERGY_DMG_FILENAME) pkg/
|
||||
cd pkg
|
||||
md5 -r $(SYNERGY_DMG_FILENAME) >> $(SYNERGY_DMG_FILENAME).checksum.txt
|
||||
shasum $(SYNERGY_DMG_FILENAME) >> $(SYNERGY_DMG_FILENAME).checksum.txt
|
||||
shasum -a 256 $(SYNERGY_DMG_FILENAME) >> $(SYNERGY_DMG_FILENAME).checksum.txt
|
||||
displayName: 'Create Installer'
|
||||
|
||||
- task: Bash@3
|
||||
inputs:
|
||||
filePath: 'CI/MacOS/notorize.sh'
|
||||
workingDirectory: 'pkg/'
|
||||
env:
|
||||
ASC_USERNAME: $(ASC_USERNAME)
|
||||
NOTORY_APP_PASSWORD: $(NOTORY_APP_PASSWORD)
|
||||
displayName: 'Submit for Notarization'
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: '$(Build.Repository.LocalPath)/pkg'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-$(buildType)/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send package to Binary Storage'
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
#Notarization script from https://github.com/rednoah/notarize-app/blob/master/notarize-app
|
||||
|
||||
BUNDLE_ID=com.symless.synergy.${SYNERGY_VERSION}.${SYNERGY_REVISION}
|
||||
|
||||
echo "User: ${ASC_USERNAME}"
|
||||
echo "Bundle: ${BUNDLE_ID}"
|
||||
|
||||
# create temporary files
|
||||
NOTARIZE_APP_LOG=$(mktemp -t notarize-app)
|
||||
NOTARIZE_INFO_LOG=$(mktemp -t notarize-info)
|
||||
|
||||
|
||||
|
||||
# submit app for notarization
|
||||
if xcrun altool --notarize-app --primary-bundle-id "$BUNDLE_ID" --username "$ASC_USERNAME" --password "${NOTORY_APP_PASSWORD}" -f "${SYNERGY_DMG_FILENAME}" > "$NOTARIZE_APP_LOG" 2>&1; then
|
||||
cat "$NOTARIZE_APP_LOG"
|
||||
RequestUUID=$(awk -F ' = ' '/RequestUUID/ {print $2}' "$NOTARIZE_APP_LOG")
|
||||
|
||||
# check status periodically
|
||||
while sleep 60 && date; do
|
||||
# check notarization status
|
||||
if xcrun altool --notarization-info "$RequestUUID" --username "$ASC_USERNAME" --password "${NOTORY_APP_PASSWORD}" > "$NOTARIZE_INFO_LOG" 2>&1; then
|
||||
cat "$NOTARIZE_INFO_LOG"
|
||||
|
||||
# once notarization is complete, run stapler and exit
|
||||
if ! grep -q "Status: in progress" "$NOTARIZE_INFO_LOG"; then
|
||||
xcrun stapler staple "${SYNERGY_DMG_FILENAME}"
|
||||
exit
|
||||
fi
|
||||
else
|
||||
cat "$NOTARIZE_INFO_LOG" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
else
|
||||
cat "$NOTARIZE_APP_LOG" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1,244 +0,0 @@
|
|||
steps:
|
||||
- task: PowerShell@2
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
New-Item -Force -ItemType Directory -Path ".\deps\"
|
||||
$client = new-object System.Net.WebClient
|
||||
$client.DownloadFile("https://binaries.symless.com/bonjour/BonjourSDK.zip",".\deps\bonjoursdk.zip")
|
||||
$client.DownloadFile("https://binaries.symless.com/bonjour/Bonjour64.msi",".\deps\Bonjour64.msi")
|
||||
displayName: 'Downloading Bonjour SKD'
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '3.x'
|
||||
addToPath: true
|
||||
architecture: 'x64'
|
||||
displayName: 'Set python version'
|
||||
|
||||
- script: |
|
||||
python CI/build_version.py
|
||||
displayName: 'Update Version.cmake'
|
||||
|
||||
- script: |
|
||||
cd $(Build.SourcesDirectory)
|
||||
python -m pip install aqtinstall
|
||||
displayName: 'Install aqtinstall'
|
||||
|
||||
- script: |
|
||||
cd $(Build.SourcesDirectory)
|
||||
python -m aqt install -b $(QLI_BASE_URL) --outputdir $(Build.Repository.LocalPath)\\deps\\Qt $(QT_VERSION) windows desktop win64_msvc2017_64
|
||||
python -m aqt install -b $(QLI_BASE_URL) --outputdir $(Build.Repository.LocalPath)\\deps\\Qt $(QT_VERSION) windows desktop win32_msvc2017
|
||||
displayName: 'Install Qt $(QT_VERSION)'
|
||||
|
||||
- task: ExtractFiles@1
|
||||
inputs:
|
||||
archiveFilePatterns: './deps/*.zip'
|
||||
destinationFolder: './deps/'
|
||||
cleanDestinationFolder: false
|
||||
displayName: 'Extracting zips'
|
||||
|
||||
- task: PowerShell@2
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
Get-ChildItem '.\deps'
|
||||
msiexec.exe /i ${pwd}\deps\Bonjour64.msi INSTALLDIR="${pwd}\deps\Bonjour" /qb
|
||||
displayName: 'Installing bonjour SDK'
|
||||
|
||||
- task: PowerShell@2
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
choco install openssl -y --forcex64 --no-progress
|
||||
Copy-Item -Path "C:\\Program Files\\OpenSSL" -Destination "$(Build.Repository.LocalPath)\\ext\\openssl\\windows\\x64" -Recurse
|
||||
displayName: 'Installing OpenSSL (x64)'
|
||||
|
||||
- script: |
|
||||
call "%ENV_BAT%" -arch=x64
|
||||
set BONJOUR_SDK_HOME=%cd%\%BONJOUR_SDK_DIR%
|
||||
mkdir build64
|
||||
cd build64
|
||||
IF "$(buildType)"=="enterprise" (
|
||||
cmake -G "Visual Studio 16 2019" -A %MSARCH% -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON ..
|
||||
) else IF "$(buildType)"=="business" (
|
||||
cmake -G "Visual Studio 16 2019" -A %MSARCH% -DCMAKE_BUILD_TYPE=Release -DSYNERGY_BUSINESS=ON ..
|
||||
) else (
|
||||
cmake -G "Visual Studio 16 2019" -A %MSARCH% -DCMAKE_BUILD_TYPE=Release ..
|
||||
)
|
||||
|
||||
displayName: 'Cmake x64 Standard'
|
||||
env:
|
||||
ENV_BAT: $(ENV_BAT)
|
||||
BONJOUR_SDK_DIR: $(BONJOUR_SDK_DIR)
|
||||
MSARCH: 'x64'
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
CMAKE_PREFIX_PATH: "$(QT_BIN_PATH);$(Build.Repository.LocalPath)\\ext\\openssl\\windows\\x64"
|
||||
|
||||
- script: |
|
||||
call "%ENV_BAT%" -arch=x64
|
||||
cd build64
|
||||
call version
|
||||
msbuild synergy-core.sln /p:Platform="x64" /p:Configuration=Release
|
||||
displayName: 'Compiling x64'
|
||||
env:
|
||||
ENV_BAT: $(ENV_BAT)
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- task: PowerShell@2
|
||||
inputs:
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
New-Item -Force -ItemType Directory -Path "C:\\Program Files (x86)\\OpenSSL-Win32"
|
||||
choco uninstall openssl -y --ignore-autouninstaller-failure --no-progress
|
||||
choco install openssl -y --forcex86 --no-progress
|
||||
Copy-Item -Path "C:\\Program Files (x86)\\OpenSSL-Win32" -Destination "$(Build.Repository.LocalPath)\\ext\\openssl\\windows\\x86" -Recurse
|
||||
displayName: 'Installing OpenSSL (x86)'
|
||||
|
||||
- script: |
|
||||
call "%ENV_BAT%" -arch=x86
|
||||
set BONJOUR_SDK_HOME=%cd%\%BONJOUR_SDK_DIR%
|
||||
mkdir build32
|
||||
cd build32
|
||||
IF "$(buildType)"=="enterprise" (
|
||||
cmake -G "Visual Studio 16 2019" -A %MSARCH% -DCMAKE_BUILD_TYPE=Release -DSYNERGY_ENTERPRISE=ON ..
|
||||
) else (
|
||||
cmake -G "Visual Studio 16 2019" -A %MSARCH% -DCMAKE_BUILD_TYPE=Release ..
|
||||
)
|
||||
displayName: 'Cmake x32 Standard'
|
||||
env:
|
||||
ENV_BAT: $(ENV_BAT)
|
||||
BONJOUR_SDK_DIR: $(BONJOUR_SDK_DIR)
|
||||
MSARCH: 'Win32'
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
CMAKE_PREFIX_PATH: "$(QT_BIN_PATH_32);$(Build.Repository.LocalPath)\\ext\\openssl\\windows\\x86"
|
||||
|
||||
- script: |
|
||||
call "%ENV_BAT%" -arch=x86
|
||||
cd build32
|
||||
call version
|
||||
msbuild synergy-core.sln /p:Platform="Win32" /p:Configuration=Release
|
||||
displayName: 'Compiling x32'
|
||||
env:
|
||||
ENV_BAT: $(ENV_BAT)
|
||||
GIT_COMMIT: $(Build.SourceVersion)
|
||||
|
||||
- task: codesigning@2
|
||||
inputs:
|
||||
secureFileId: 'WindowsSigningCert.pfx'
|
||||
signCertPassword: '$(CODESIGN_PWD)'
|
||||
files: '*\bin\Release\*.exe'
|
||||
timeServer: 'http://timestamp.digicert.com'
|
||||
hashingAlgorithm: 'SHA256'
|
||||
displayName: "Signing Synergy binaries"
|
||||
|
||||
- task: MSBuild@1
|
||||
inputs:
|
||||
solution: 'build64/installer/Synergy.sln'
|
||||
msbuildVersion: '16.0'
|
||||
msbuildArchitecture: 'x64'
|
||||
platform: 'x64'
|
||||
configuration: 'Release'
|
||||
msbuildArguments: '/m'
|
||||
maximumCpuCount: true
|
||||
displayName: 'Making installer x64'
|
||||
env:
|
||||
QT_PATH: $(QT_BIN_PATH)
|
||||
|
||||
- task: MSBuild@1
|
||||
inputs:
|
||||
solution: 'build32/installer/Synergy.sln'
|
||||
msbuildVersion: '16.0'
|
||||
msbuildArchitecture: 'x86'
|
||||
platform: 'x86'
|
||||
configuration: 'Release'
|
||||
msbuildArguments: '/m'
|
||||
maximumCpuCount: true
|
||||
displayName: 'Making installer x86'
|
||||
env:
|
||||
QT_PATH: $(QT_BIN_PATH_32)
|
||||
|
||||
- task: codesigning@2
|
||||
inputs:
|
||||
secureFileId: 'WindowsSigningCert.pfx'
|
||||
signCertPassword: '$(CODESIGN_PWD)'
|
||||
files: '*\installer\bin\Release\Synergy.msi'
|
||||
timeServer: 'http://timestamp.digicert.com'
|
||||
hashingAlgorithm: 'SHA256'
|
||||
displayName: "Signing installers"
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
inputs:
|
||||
rootFolderOrFile: 'build32\bin\Release'
|
||||
includeRootFolder: false
|
||||
archiveType: 'zip'
|
||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Synergy_win_x86.zip'
|
||||
replaceExistingArchive: true
|
||||
verbose: true
|
||||
displayName: "Archive 32-bit binaries"
|
||||
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
inputs:
|
||||
rootFolderOrFile: 'build64\bin\Release'
|
||||
includeRootFolder: false
|
||||
archiveType: 'zip'
|
||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Synergy_win_x64.zip'
|
||||
replaceExistingArchive: true
|
||||
verbose: true
|
||||
displayName: "Archive 64-bit binaries"
|
||||
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||
|
||||
- script: |
|
||||
call ./build64/version
|
||||
set SYNERGY_VERSION=%SYNERGY_VERSION_MAJOR%.%SYNERGY_VERSION_MINOR%.%SYNERGY_VERSION_PATCH%
|
||||
git rev-parse --short=8 HEAD > gitversion
|
||||
set /p SYNERGY_REVISION= < gitversion
|
||||
echo ##vso[task.setvariable variable=SYNERGY_VERSION_BUILD]%SYNERGY_VERSION_BUILD%
|
||||
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%
|
||||
displayName: "Set Variables"
|
||||
|
||||
- script: |
|
||||
cd $(Build.Repository.LocalPath)\build32\installer\bin\Release\
|
||||
set FILENAME=$(prefix)_$(SYNERGY_VERSION)-$(SYNERGY_VERSION_STAGE).$(SYNERGY_REVISION)_windows_x86.msi
|
||||
ren "Synergy.msi" "%FILENAME%"
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe md5 %FILENAME% > %FILENAME%.checksum.txt
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe sha1 %FILENAME% >> %FILENAME%.checksum.txt
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe sha256 %FILENAME% >> %FILENAME%.checksum.txt
|
||||
cd $(Build.Repository.LocalPath)\build64\installer\bin\Release\
|
||||
set FILENAME=$(prefix)_$(SYNERGY_VERSION)-$(SYNERGY_VERSION_STAGE).$(SYNERGY_REVISION)_windows_x64.msi
|
||||
ren "Synergy.msi" "%FILENAME%"
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe md5 %FILENAME% > %FILENAME%.checksum.txt
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe sha1 %FILENAME% >> %FILENAME%.checksum.txt
|
||||
$(Build.Repository.LocalPath)\ext\openssl\windows\x64\bin\openssl.exe sha256 %FILENAME% >> %FILENAME%.checksum.txt
|
||||
displayName: "Rename files"
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: '$(Build.ArtifactStagingDirectory)/'
|
||||
contents: '*.zip'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-$(buildType)/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send archives to Binary Storage'
|
||||
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: '$(Build.Repository.LocalPath)\build32\installer\bin\Release\'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-$(buildType)/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send x86 package to Binary Storage'
|
||||
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Binary Storage'
|
||||
sourceFolder: '$(Build.Repository.LocalPath)\build64\installer\bin\Release\'
|
||||
contents: '*'
|
||||
targetFolder: '$(BINARIES_DIR)/v1-core-$(buildType)/$(SYNERGY_VERSION)/$(SYNERGY_VERSION_STAGE)/b$(SYNERGY_VERSION_BUILD)-$(SYNERGY_REVISION)/'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Send x64 package to Binary Storage'
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
import subprocess
|
||||
|
||||
class VersionPart:
|
||||
|
||||
def __init__(self, part = ''):
|
||||
self.prefix = ''
|
||||
self.suffix = ''
|
||||
self.number = 0
|
||||
|
||||
if part:
|
||||
self.__parsePreffix(part)
|
||||
self.__parseNumber(part)
|
||||
self.__parseSuffix(part)
|
||||
|
||||
def __parsePreffix(self, part):
|
||||
if not part[0].isdigit():
|
||||
for i in part:
|
||||
if not i.isdigit():
|
||||
self.prefix += i
|
||||
else:
|
||||
break
|
||||
|
||||
def __parseNumber(self, part):
|
||||
start = len(self.prefix)
|
||||
end = part.find('-')
|
||||
if end > 0:
|
||||
self.number = int(part[start:end])
|
||||
else:
|
||||
self.number = int(part[start:])
|
||||
|
||||
def __parseSuffix(self, part):
|
||||
items = part.split('-')
|
||||
if len(items) == 2:
|
||||
self.suffix = '-' + items[1]
|
||||
|
||||
def __str__(self):
|
||||
return self.prefix + str(self.number) + self.suffix
|
||||
class Version:
|
||||
|
||||
def __init__(self, version):
|
||||
versionParts = version.split('.')
|
||||
|
||||
if len(versionParts) == 3:
|
||||
self.major = VersionPart(versionParts[0])
|
||||
self.minor = VersionPart(versionParts[1])
|
||||
self.build = VersionPart(versionParts[2])
|
||||
self.patch = VersionPart()
|
||||
self.patch.number = self.build.number
|
||||
elif len(versionParts) == 4:
|
||||
self.major = VersionPart(versionParts[0])
|
||||
self.minor = VersionPart(versionParts[1])
|
||||
self.patch = VersionPart(versionParts[2])
|
||||
self.build = VersionPart(versionParts[3])
|
||||
else:
|
||||
print('ERROR: Wrong version number')
|
||||
|
||||
def isSamePatch(self, version):
|
||||
return (self.major.number == version.major.number and
|
||||
self.minor.number == version.minor.number and
|
||||
self.patch.number == version.patch.number)
|
||||
|
||||
def __str__(self):
|
||||
result = str(self.major) + '.'
|
||||
result += str(self.minor) + '.'
|
||||
result += str(self.patch) + '.'
|
||||
result += str(self.build)
|
||||
return result
|
||||
|
||||
class VersionFile:
|
||||
def __init__(self, file):
|
||||
self.file = file
|
||||
|
||||
def setOption(self, name, value):
|
||||
fp = open(self.file, 'rt+')
|
||||
content = ''
|
||||
for line in fp:
|
||||
print(line)
|
||||
if line.find(name) != -1:
|
||||
line = 'set ('+ name + ' ' + value + ')'
|
||||
content += line
|
||||
fp.write(content)
|
||||
fp.close()
|
||||
|
||||
def findVersion(versions, cmakeVersion):
|
||||
gitVersion = Version(versions[0])
|
||||
for version in versions:
|
||||
ver = Version(version)
|
||||
if ver.isSamePatch(cmakeVersion):
|
||||
gitVersion = ver
|
||||
break
|
||||
print('INFO: Version '+ str(gitVersion) + ' has been read from git')
|
||||
return gitVersion
|
||||
|
||||
def getVersionFromGit(cmakeVersion):
|
||||
try:
|
||||
taggedRevision = subprocess.check_output(('git rev-list --tags --max-count=100').split(), universal_newlines=True)
|
||||
cmd = ('git describe --tags ' + taggedRevision).split()
|
||||
versions = subprocess.check_output(cmd, universal_newlines=True).split()
|
||||
return findVersion(versions, cmakeVersion)
|
||||
except subprocess.CalledProcessError:
|
||||
print('ERROR: Unable to get version from git')
|
||||
exit(1)
|
||||
|
||||
def updateVersionFile(number):
|
||||
fp = open('cmake/Version.cmake')
|
||||
content = fp.read()
|
||||
fp.close()
|
||||
|
||||
fp = open('cmake/Version.cmake', 'wt')
|
||||
fp.write(content.replace('set (SYNERGY_VERSION_BUILD 1)', 'set (SYNERGY_VERSION_BUILD ' + str(number) + ')'))
|
||||
fp.close()
|
||||
|
||||
def getOptionValue(source, option):
|
||||
start = source.find(option)
|
||||
if (start != -1):
|
||||
start += len(option) + 1
|
||||
end = source.find(')', start)
|
||||
return source[start : end]
|
||||
else:
|
||||
print("ERROR: Can't find option <" + option + ">");
|
||||
|
||||
def getVersionFromFile():
|
||||
fp = open('cmake/Version.cmake')
|
||||
content = fp.read()
|
||||
fp.close()
|
||||
|
||||
major = getOptionValue(content, 'SYNERGY_VERSION_MAJOR')
|
||||
minor = getOptionValue(content, 'SYNERGY_VERSION_MINOR')
|
||||
patch = getOptionValue(content, 'SYNERGY_VERSION_PATCH')
|
||||
|
||||
return Version(major + '.' + minor + '.' + patch)
|
||||
|
||||
if __name__ == '__main__':
|
||||
cmakeVersion = getVersionFromFile()
|
||||
gitVersion = getVersionFromGit(cmakeVersion)
|
||||
updateVersionFile(gitVersion.build.number)
|
||||
print('INFO: Build number is: <' + str(gitVersion) + '>')
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
steps:
|
||||
- checkout: self
|
||||
fetchDepth: 1
|
||||
submodules: recursive
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
from argparse import ArgumentParser
|
||||
from datetime import datetime, timezone
|
||||
import re
|
||||
|
||||
IGNORE_SEGMENTS = ['CI changes:']
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument('name', type=str, help='Name of the package')
|
||||
parser.add_argument('version', type=str, help='Version of the package')
|
||||
parser.add_argument('-d', '--distribution', type=str, default='unstable', help='Distribution the package is built for')
|
||||
parser.add_argument('-u', '--urgency', type=str, default='low', help='Urgency of the package')
|
||||
args = parser.parse_args()
|
||||
build_time = datetime.now(timezone.utc).strftime('%a, %d %b %Y %H:%M:%S %z') # day-of-week, dd month yyyy hh:mm:ss +zzzz
|
||||
version_str = re.match('^\d+\.\d+\.\d+', args.version).group(0)
|
||||
with open('ChangeLog', 'r', encoding='utf8') as in_file, open('debian/changelog', 'w+', encoding='utf8') as out_file:
|
||||
out_file.write('{} ({}) {}; urgency={}\n'.format(args.name, args.version, args.distribution, args.urgency))
|
||||
in_section = False
|
||||
ignore_segment = False
|
||||
line = in_file.readline()
|
||||
while line:
|
||||
if line.startswith('v'):
|
||||
if line.startswith('v{}'.format(version_str)):
|
||||
in_section = True
|
||||
elif in_section:
|
||||
break
|
||||
elif not in_section:
|
||||
# skip this line and read in the next
|
||||
pass
|
||||
elif line.strip().replace('=', '') == '':
|
||||
ignore_segment = False
|
||||
elif line.strip() in IGNORE_SEGMENTS:
|
||||
ignore_segment = True
|
||||
elif line.strip().endswith(':'):
|
||||
out_file.write('\n * {}'.format(line.strip()[:-1]))
|
||||
else:
|
||||
if in_section and not ignore_segment:
|
||||
while line.startswith(('#', '|', '-')):
|
||||
line = ' '.join(line.split()[1:])
|
||||
out_file.write('\n - {}'.format(line))
|
||||
line = in_file.readline()
|
||||
out_file.write('\n\n -- Symless <engineering@symless.com> {}\n'.format(build_time))
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
jobs:
|
||||
- job: DoxygenDoc
|
||||
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
sudo DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install doxygen graphviz
|
||||
displayName: 'Install Pakages'
|
||||
|
||||
- script: |
|
||||
doxygen Doxyfile
|
||||
cd doxygen
|
||||
tar -czvf ../docs.tar.gz ./*
|
||||
displayName: 'Generate Docs'
|
||||
|
||||
- task: CopyFilesOverSSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Azure on Sandor'
|
||||
sourceFolder: '.'
|
||||
contents: 'docs.tar.gz'
|
||||
targetFolder: 'synergy-core'
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Publish files to sandor'
|
||||
|
||||
- task: SSH@0
|
||||
inputs:
|
||||
sshEndpoint: 'Azure on Sandor'
|
||||
runOptions: 'commands'
|
||||
commands: |
|
||||
tar -C ./synergy-core/docs -xzvf ./synergy-core/docs.tar.gz --overwrite
|
||||
readyTimeout: '20000'
|
||||
displayName: 'Extract files on sandor'
|
||||
|
|
@ -17,6 +17,7 @@ CI changes:
|
|||
- #7283 Update all workflows and fix broken macOS workflows
|
||||
- #7313 Fix CodeQL workflow: Failed to perl 404 Not Found
|
||||
- #7317 Bump sonar-scanner-cli to 5.0.1.3006
|
||||
- #7318 Remove Azure Pipelines config entirely
|
||||
|
||||
# 1.14.6
|
||||
|
||||
|
|
|
|||
|
|
@ -1,148 +0,0 @@
|
|||
pr: none
|
||||
trigger: none
|
||||
|
||||
jobs:
|
||||
- template: CI/job-doxygen.yml
|
||||
|
||||
- job: Linux
|
||||
pool:
|
||||
vmImage: "ubuntu-latest"
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
ubuntu1604:
|
||||
image: symless/synergy-core:ubuntu16.04
|
||||
packager: deb
|
||||
name: ubuntu16
|
||||
makeJobsLimit: 1
|
||||
ubuntu1804:
|
||||
image: symless/synergy-core:ubuntu18.04
|
||||
packager: deb
|
||||
name: ubuntu18
|
||||
ubuntu2004:
|
||||
image: symless/synergy-core:ubuntu20.04
|
||||
packager: deb
|
||||
name: ubuntu20
|
||||
ubuntu2104:
|
||||
image: symless/synergy-core:ubuntu21.04
|
||||
packager: deb
|
||||
name: ubuntu21
|
||||
ubuntu2204:
|
||||
image: symless/synergy-core:ubuntu22.04
|
||||
packager: deb
|
||||
name: ubuntu22
|
||||
debian9:
|
||||
image: symless/synergy-core:debian9
|
||||
packager: deb
|
||||
name: debian9
|
||||
debian10:
|
||||
image: symless/synergy-core:debian10
|
||||
packager: deb
|
||||
name: debian10
|
||||
debian11:
|
||||
image: symless/synergy-core:debian11
|
||||
packager: deb
|
||||
name: debian11
|
||||
fedora33:
|
||||
image: symless/synergy-core:fedora33
|
||||
packager: rpm
|
||||
name: fedora33
|
||||
fedora34:
|
||||
image: symless/synergy-core:fedora34
|
||||
packager: rpm
|
||||
name: fedora34
|
||||
fedora35:
|
||||
image: symless/synergy-core:fedora35
|
||||
packager: rpm
|
||||
name: fedora35
|
||||
fedora36:
|
||||
image: symless/synergy-core:fedora36
|
||||
packager: rpm
|
||||
name: fedora36
|
||||
fedora37:
|
||||
image: symless/synergy-core:fedora37
|
||||
packager: rpm
|
||||
name: fedora37
|
||||
fedora38:
|
||||
image: symless/synergy-core:fedora38
|
||||
packager: rpm
|
||||
name: fedora38
|
||||
centos7.6:
|
||||
image: symless/synergy-core:centos7.6
|
||||
packager: rpm
|
||||
name: centos76
|
||||
centos8:
|
||||
image: symless/synergy-core:centos8
|
||||
packager: rpm
|
||||
name: centos8
|
||||
|
||||
container: $[ variables['image'] ]
|
||||
|
||||
steps:
|
||||
- template: CI/checkout.yml
|
||||
- template: CI/Linux/linux-build.yml
|
||||
|
||||
- job: MacOS
|
||||
strategy:
|
||||
matrix:
|
||||
catalina-std:
|
||||
image: macOS-latest
|
||||
platform: x86-64
|
||||
version: 10.14
|
||||
buildType: "standard"
|
||||
prefix: "synergy"
|
||||
catalina-ent:
|
||||
image: macOS-latest
|
||||
platform: x86-64
|
||||
version: 10.14
|
||||
buildType: "enterprise"
|
||||
prefix: "synergy-enterprise"
|
||||
catalina-business:
|
||||
image: macOS-latest
|
||||
platform: x86-64
|
||||
version: 10.14
|
||||
buildType: "business"
|
||||
prefix: "synergy-business"
|
||||
pool:
|
||||
vmImage: $[ variables['image'] ]
|
||||
|
||||
variables:
|
||||
QT_VERSION: "5.15.2"
|
||||
QT_PATH: "/usr/local/opt/qt"
|
||||
Qt5_DIR: "$(QT_PATH)/$(QT_VERSION)/clang_64"
|
||||
|
||||
steps:
|
||||
- template: CI/checkout.yml
|
||||
- template: CI/MacOS/mac-build.yml
|
||||
|
||||
- job: Windows
|
||||
strategy:
|
||||
matrix:
|
||||
vs2019:
|
||||
image: windows-2019
|
||||
buildType: "standard"
|
||||
prefix: "synergy"
|
||||
vs2019ent:
|
||||
image: windows-2019
|
||||
buildType: "enterprise"
|
||||
prefix: "synergy-enterprise"
|
||||
vs2019business:
|
||||
image: windows-2019
|
||||
buildType: "business"
|
||||
prefix: "synergy-business"
|
||||
|
||||
pool:
|
||||
vmImage: $[ variables['image'] ]
|
||||
|
||||
variables:
|
||||
QT_VERSION: "5.12.6"
|
||||
QLI_OUT_DIR: '.\deps\Qt'
|
||||
QLI_BASE_URL: "http://qt.mirror.constant.com/"
|
||||
QT_BIN_PATH: '$(Build.Repository.LocalPath)\$(QLI_OUT_DIR)\$(QT_VERSION)\msvc2017_64'
|
||||
QT_BIN_PATH_32: '$(Build.Repository.LocalPath)\$(QLI_OUT_DIR)\$(QT_VERSION)\msvc2017'
|
||||
BONJOUR_SDK_DIR: 'deps\BonjourSDK'
|
||||
ENV_BAT: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\vsdevcmd'
|
||||
|
||||
steps:
|
||||
- template: CI/checkout.yml
|
||||
- template: CI/Windows/windows-build.yml
|
||||
Loading…
Reference in a new issue