Add M1 workflow (#7098)

* Add m1 workflow

* Set shell envirnonment to arm64

* ChangeLog

* Change dmg name

* Change back to parameter passing

* Send to binaries server

* Remove pull and push triggers

* Add m1 to mac tests

* Set correct shell for m1 mac

* Remove 10.13 build for core

* Core build for macos

* Always generate version file

* Remove qt from core builds

* Exclude tests from core build

* move synergyd and coverage option

* Aws core builds to only build core

* Windows upload release folder

* Use static openssl for core builds

* Fix destination for pi core builds

* Only upload core builds with release

* Rename variable step

* Remove matrix

* Test windows build changes

* Remove unnecessary cmake option

* Remove test
This commit is contained in:
Kyle Bloom
2021-10-01 08:55:44 +01:00
committed by GitHub
parent f2d4a08093
commit 19cd184146
14 changed files with 346 additions and 261 deletions

View File

@ -1,15 +1,18 @@
name: CentOS-Upload
name: CentOS - Core
on:
release:
types: [created]
jobs:
build-arch64:
build-core-centos:
runs-on: ubuntu-latest
container: symless/synergy-core:${{ matrix.distro }}
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
strategy:
matrix:
include:
@ -19,20 +22,20 @@ jobs:
name: ${{ matrix.distro }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
- name: Build
run: |
mkdir build
cd build
cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..
. ./version
make -j
- name: Build
run: |
mkdir build
cd build
cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/rpm/BUILDROOT/usr ..
. ./version
make -j
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{matrix.distro}}/"
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{matrix.distro}}/"

View File

@ -1,15 +1,18 @@
name: Debian-Upload
name: Debian- Core
on:
release:
types: [created]
jobs:
build-arch64:
build-core-debian:
runs-on: ubuntu-latest
container: symless/synergy-core:${{ matrix.distro }}
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
strategy:
matrix:
include:
@ -19,20 +22,20 @@ jobs:
name: ${{ matrix.distro }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
- name: Build
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
. ./version
make -j
- name: Build
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
. ./version
make -j
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{matrix.distro}}/"
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{matrix.distro}}/"

View File

@ -1,15 +1,18 @@
name: Fedora-Upload
name: Fedora - Core
on:
release:
types: [created]
jobs:
upload-to-s3:
build-core-fedora:
runs-on: ubuntu-latest
container: symless/synergy-core:${{ matrix.distro }}
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
strategy:
matrix:
include:
@ -38,4 +41,4 @@ jobs:
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{matrix.distro}}/"
destination_dir: "./synergy3/latest/${{matrix.distro}}/"

View File

@ -1,22 +1,25 @@
name: Ubuntu-Upload
name: Ubuntu - Core
on:
release:
types: [created]
jobs:
upload-to-s3:
build-core-ubuntu:
runs-on: ubuntu-latest
container: symless/synergy-core:ubuntu${{ matrix.distro }}
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
strategy:
matrix:
distro: ['20.04', '21.04', '18.04']
flag: ['-j']
distro: ["20.04", "21.04", "18.04"]
flag: ["-j"]
include:
- distro: '16.04'
flag: '-j1'
- distro: "16.04"
flag: "-j1"
name: ubuntu${{ matrix.distro }}
@ -37,4 +40,4 @@ jobs:
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/Ubuntu_${{matrix.distro}}/"
destination_dir: "./synergy3/latest/Ubuntu_${{matrix.distro}}/"

View File

@ -1,45 +0,0 @@
name: Mac-10.13-Upload
on:
release:
types: [created]
jobs:
build-on-mac-10_13:
runs-on: [self-hosted, macOS, X64, 10.13]
env:
GIT_COMMIT: ${{ github.sha }}
Qt5_DIR: /usr/local/opt/qt/5.15.2/clang_64
OpenSSL_DIR: /usr/local/ssl
steps:
- uses: actions/checkout@v2
- name: Setup Environment
run: |
python3 -m pip install dmgbuild
- name: Build SYNERGY
env:
CMAKE_PREFIX_PATH: "${{ env.Qt5_DIR }};${{ env.OpenSSL_DIR }}"
run: |
export PATH="$Qt5_DIR/bin:$PATH"
python3 CI/build_version.py
mkdir build
cd build
cmake \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CONFIGURATION_TYPES=Release ..
. ./version
make -j
make install/strip
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/macOS_10.13/"

View File

@ -1,39 +0,0 @@
name: Mac-10.15-Upload
on:
release:
types: [created]
jobs:
build-arch64:
runs-on: macos-10.15
env:
GIT_COMMIT: ${{ github.sha }}
steps:
- uses: actions/checkout@v2
- name: Install brew dependencies
run: |
brew list qt5 &>/dev/null || brew install qt5
brew list openssl &>/dev/null || brew install openssl
- name: Build
run: |
mkdir build
cd build
cmake \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt5);$(brew --prefix openssl)" ..
. ./version
make -j
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/macOS_10.15/"

58
.github/workflows/aws-upload-mac.yml vendored Normal file
View File

@ -0,0 +1,58 @@
name: macOS - Core
on:
release:
types: [created]
jobs:
build-core-macos:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: ${{ matrix.shell }}
strategy:
matrix:
include:
- os: "macos-10.15"
target: "10.14"
shell: "bash"
destination: macOS_x64
- os: [self-hosted, macOS, arm64]
target: ""
shell: "/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}"
destination: macOS_arm64
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
steps:
- uses: actions/checkout@v2
- name: Install brew dependencies
run: |
brew list openssl &>/dev/null || brew install openssl
- name: Build
env:
CMAKE_OSX_DEPLOYMENT_TARGET: ${{ matrix.target }}
run: |
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix openssl)" ..
. ./version
make -j
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{ matrix.destination }}/"

View File

@ -1,30 +1,37 @@
name: Raspberry Pi - Upload
name: Raspberry Pi - Core
on:
release:
types: [created]
jobs:
test-on-pi:
build-core-pi:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [[self-hosted, linux, ARM, pi-3], [self-hosted, linux, ARM64, pi-4]]
include:
- os: [self-hosted, linux, ARM, pi-3]
destination: "raspberry-pi-3_arm"
- os: [self-hosted, linux, ARM64, pi-4]
destination: "raspberry-pi-4_arm64"
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
- name: Build
run: |
mkdir -p build; cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
- name: Build
run: |
mkdir -p build; cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/Raspberry/${{ matrix.os[3] }}_${{ matrix.os[2]}}/"
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/${{ matrix.destination }}"

View File

@ -1,101 +1,60 @@
name: Windows-Upload
name: Windows - Core
on:
release:
types: [created]
jobs:
build:
build-core-windows:
runs-on: windows-2019
env:
GIT_COMMIT: ${{ github.sha }}
BONJOUR_BASE_DIR: ${{ github.workspace }}\deps\bonjour
QT_BASE_DIR: ${{ github.workspace }}\deps\Qt
QT_VERSION: 5.12.6
QT_BASE_URL: http://qt.mirror.constant.com/
QT_LIB_DIR: ${{ github.workspace }}\deps\Qt\5.12.6
strategy:
matrix:
arch: ['x64']
SYNERGY_NO_LEGACY: "1"
SYNERGY_NO_TESTS: "1"
SYNERGY_STATIC_OPENSSL: "1"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
- name: Set up QT variables
run: |
if ('${{ matrix.arch }}' -eq 'x64')
{
Write-Output "::set-output name=QT_ARCH::win64_msvc2017_64"
Write-Output "::set-output name=QT_DIR::msvc2017_64"
Write-Output "::set-output name=OPEN_SSL_DIR::C:\\Program Files\\OpenSSL-Win64"
}
else
{
Write-Output "::set-output name=QT_ARCH::win32_msvc2017"
Write-Output "::set-output name=QT_DIR::msvc2017"
Write-Output "::set-output name=OPEN_SSL_DIR::C:\\Program Files (x86)\\OpenSSL-Win32"
}
id: qt-setup
- name: Cache Bonjour
id: cache-bonjour
uses: actions/cache@v1
with:
path: ${{ env.BONJOUR_BASE_DIR }}
key: ${{ runner.os }}-Bonjour
- name: Cache Qt
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ env.QT_BASE_DIR }}
key: ${{ runner.os }}-Qt_${{ env.QT_VERSION }}-${{ steps.qt-setup.outputs.QT_ARCH }}
- name: Install Bonjour SDK
if: steps.cache-bonjour.outputs.cache-hit != 'true'
run: |
New-Item -Force -ItemType Directory -Path "$env:BONJOUR_BASE_DIR"
$client = new-object System.Net.WebClient
$client.DownloadFile("https://binaries.symless.com/bonjour/BonjourSDK.zip",".\bonjoursdk.zip")
[System.IO.Compression.ZipFile]::ExtractToDirectory(".\bonjoursdk.zip", "$env:BONJOUR_BASE_DIR")
- name: LOG Qt
run: |
Write-Output "matrix arch ${{ matrix.arch }}"
Write-Output "python -m aqt install --outputdir $env:QT_BASE_DIR --base $env:QT_BASE_URL $env:QT_VERSION windows desktop ${{ steps.qt-setup.outputs.QT_ARCH }}"
- name: Install OpenSSL
run: |
choco uninstall openssl -y --ignore-autouninstaller-failure --no-progress
choco install openssl -y --no-progress
- name: Install Qt
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
pip install aqtinstall
python -m aqt install --outputdir $env:QT_BASE_DIR --base $env:QT_BASE_URL $env:QT_VERSION windows desktop ${{ steps.qt-setup.outputs.QT_ARCH }}
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Build
env:
CMAKE_PREFIX_PATH: "C:\\Program Files\\OpenSSL-Win64"
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
. ./version
msbuild synergy-core.sln /p:Configuration=Release
- name: Cache Bonjour
id: cache-bonjour
uses: actions/cache@v1
with:
path: ${{ env.BONJOUR_BASE_DIR }}
key: ${{ runner.os }}-Bonjour
- name: Install Bonjour SDK
if: steps.cache-bonjour.outputs.cache-hit != 'true'
run: |
New-Item -Force -ItemType Directory -Path "$env:BONJOUR_BASE_DIR"
$client = new-object System.Net.WebClient
$client.DownloadFile("https://binaries.symless.com/bonjour/BonjourSDK.zip",".\bonjoursdk.zip")
[System.IO.Compression.ZipFile]::ExtractToDirectory(".\bonjoursdk.zip", "$env:BONJOUR_BASE_DIR")
- name: Install OpenSSL
run: |
choco uninstall openssl -y --ignore-autouninstaller-failure --no-progress
choco install openssl -y --force${{ matrix.arch }} --no-progress
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Build
env:
CMAKE_PREFIX_PATH: "${{ env.QT_LIB_DIR }}\\${{ steps.qt-setup.outputs.QT_DIR }}\\;${{ steps.qt-setup.outputs.OPEN_SSL_DIR }}"
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
. ./version
msbuild synergy-core.sln /p:Configuration=Release
- uses: anshulrgoyal/upload-s3-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin
destination_dir: "./synergy3/latest/Windows_${{ matrix.arch }}/"
- uses: anshulrgoyal/upload-s3-action@master
with:
aws_key_id: ${{ secrets.AWS_S3_UPLOAD_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_S3_UPLOAD_SECRET }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: ./build/bin/Release
destination_dir: "./synergy3/latest/Windows_x64/"

121
.github/workflows/job-build-mac-m1.yaml vendored Normal file
View File

@ -0,0 +1,121 @@
name: Mac
on:
release:
types: [created]
defaults:
run:
shell: "/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}"
jobs:
build-on-mac-m1:
runs-on: [self-hosted, macOS, arm64]
strategy:
matrix:
enterprise: ["1", ""]
env:
GIT_COMMIT: ${{ github.sha }}
SYNERGY_ENTERPRISE: ${{ matrix.enterprise }}
CODESIGN_ID: "Developer ID Application: Symless Ltd (4HX897Y6GJ)"
steps:
- uses: actions/checkout@v2
- name: Setup Environment
run: |
python3 -m pip install dmgbuild
brew list qt5 &>/dev/null || brew install qt5
brew list openssl &>/dev/null || brew install openssl
- name: Build SYNERGY
env:
CMAKE_BUILD_TYPE: Release
run: |
export
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt5);$(brew --prefix openssl)" ..
. ./version
make -j
make install/strip
- name: Version Info
id: version
run: |
. ./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}"
echo "::set-output name=SYNERGY_VERSION_MAJOR::$SYNERGY_VERSION_MAJOR"
echo "::set-output name=SYNERGY_VERSION_MINOR::$SYNERGY_VERSION_MINOR"
echo "::set-output name=SYNERGY_VERSION_PATCH::$SYNERGY_VERSION_PATCH"
echo "::set-output name=SYNERGY_VERSION_STAGE::$SYNERGY_VERSION_STAGE"
echo "::set-output name=SYNERGY_VERSION_BUILD::$SYNERGY_VERSION_BUILD"
echo "::set-output name=SYNERGY_VERSION::$SYNERGY_VERSION"
echo "::set-output name=SYNERGY_REVISION::$SYNERGY_REVISION"
echo "::set-output name=SYNERGY_DMG_VERSION::$SYNERGY_DMG_VERSION"
if [ "$SYNERGY_ENTERPRISE" == '1' ]
then
SYNERGY_PACKAGE_NAME='synergy-enterprise'
SYNERGY_REMOTE_FOLDER="synergy-core/v1-core-enterprise/${SYNERGY_VERSION}/${SYNERGY_VERSION_STAGE}/b${SYNERGY_VERSION_BUILD}-${SYNERGY_REVISION}"
else
SYNERGY_PACKAGE_NAME='synergy'
SYNERGY_REMOTE_FOLDER="synergy-core/v1-core-standard/${SYNERGY_VERSION}/${SYNERGY_VERSION_STAGE}/b${SYNERGY_VERSION_BUILD}-${SYNERGY_REVISION}"
fi
SYNERGY_DMG_FILENAME="${SYNERGY_PACKAGE_NAME}_${SYNERGY_DMG_VERSION}_macos-arm64.dmg"
echo "SYNERGY_REMOTE_FOLDER: $SYNERGY_REMOTE_FOLDER"
echo "::set-output name=SYNERGY_REMOTE_FOLDER::$SYNERGY_REMOTE_FOLDER"
echo "::set-output name=SYNERGY_PACKAGE_NAME::$SYNERGY_PACKAGE_NAME"
echo "::set-output name=SYNERGY_DMG_FILENAME::$SYNERGY_DMG_FILENAME"
- name: Sign applicaiton
run: |
export PATH="$(brew --prefix qt5)/bin:$PATH"
macdeployqt ${{ github.workspace }}/build/bundle/Synergy.app -codesign="$CODESIGN_ID"
codesign -f --options runtime --deep -s "$CODESIGN_ID" ${{ github.workspace }}/build/bundle/Synergy.app
ln -s /Applications ${{ github.workspace }}/build/bundle/Applications
- name: Create Installer
env:
SYNERGY_DMG_FILENAME: ${{ steps.version.outputs.SYNERGY_DMG_FILENAME }}
run: |
dmgbuild \
-s CI/MacOS/installator_settings.py \
-D app=${{ github.workspace }}/build/bundle/Synergy.app \
-D background=${{ github.workspace }}/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
- name: Submit for Notarization
env:
ASC_USERNAME: ${{ secrets.ASC_USERNAME }}
NOTORY_APP_PASSWORD: ${{ secrets.NOTORY_APP_PASSWORD }}
SYNERGY_VERSION: ${{ steps.version.outputs.SYNERGY_VERSION }}
SYNERGY_REVISION: ${{ steps.version.outputs.SYNERGY_REVISION }}
SYNERGY_DMG_FILENAME: ${{ steps.version.outputs.SYNERGY_DMG_FILENAME }}
run: |
cd pkg
../CI/MacOS/notorize.sh
- name: Send package to Sandor
env:
HOST: ${{ secrets.SANDOR_HOST }}
USER: ${{ secrets.SANDOR_USERNAME }}
KEY: ${{ secrets.SANDOR_KEY }}
LOCAL: "${{ github.workspace }}/pkg/*"
REMOTE: "${{ steps.version.outputs.SYNERGY_REMOTE_FOLDER }}"
run: |
echo -e "${KEY}" >__TEMP_INPUT_KEY_FILE
chmod 600 __TEMP_INPUT_KEY_FILE
ssh -o StrictHostKeyChecking=no -v -i __TEMP_INPUT_KEY_FILE -p 22 "${USER}"@"${HOST}" "mkdir -p ${REMOTE}"
scp -o StrictHostKeyChecking=no -v -i __TEMP_INPUT_KEY_FILE -P 22 -r ${LOCAL} "${USER}"@"${HOST}":"${REMOTE}"

View File

@ -2,35 +2,50 @@ name: Mac
on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ master ]
branches: [master]
jobs:
build-arch64:
runs-on: macos-10.15
test-macos:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: ${{ matrix.shell }}
strategy:
matrix:
include:
- os: "macos-10.15"
target: "10.14"
shell: "bash"
- os: [self-hosted, macOS, arm64]
target: ""
shell: "/usr/bin/arch -arch arm64e /bin/bash --noprofile --norc -eo pipefail {0}"
env:
GIT_COMMIT: ${{ github.sha }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
- name: Install brew dependencies
run: |
brew list qt5 &>/dev/null || brew install qt5
brew list openssl &>/dev/null || brew install openssl
- name: Install brew dependencies
run: |
brew list qt5 &>/dev/null || brew install qt5
brew list openssl &>/dev/null || brew install openssl
- name: Build
run: |
mkdir build
cd build
cmake \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt5);$(brew --prefix openssl)" ..
. ./version
make -j
- name: Build
env:
CMAKE_OSX_DEPLOYMENT_TARGET: ${{ matrix.target }}
run: |
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt5);$(brew --prefix openssl)" ..
. ./version
make -j
- name: Run unit test
run: ./build/bin/unittests
- name: Run unit test
run: ./build/bin/unittests

View File

@ -19,15 +19,18 @@ project (synergy-core C CXX)
if (DEFINED ENV{SYNERGY_NO_LEGACY})
option (SYNERGY_BUILD_LEGACY_GUI "Build the legacy GUI" OFF)
option (SYNERGY_BUILD_LEGACY_SERVICE "Build the legacy service (synergyd)" OFF)
option (SYNERGY_BUILD_LEGACY_INSTALLER "Build the legacy installer" OFF)
else()
option (SYNERGY_BUILD_LEGACY_GUI "Build the legacy GUI" ON)
option (SYNERGY_BUILD_LEGACY_SERVICE "Build the legacy service (synergyd)" ON)
option (SYNERGY_BUILD_LEGACY_INSTALLER "Build the legacy installer" ON)
endif()
option (BUILD_TESTS "Override building of tests" ON)
option (ENABLE_COVERAGE "Build with coverage")
if (DEFINED ENV{SYNERGY_NO_TESTS})
option (BUILD_TESTS "Override building of tests" OFF)
else()
option (BUILD_TESTS "Override building of tests" ON)
option (ENABLE_COVERAGE "Build with coverage")
endif()
if ($ENV{SYNERGY_ENTERPRISE})
option (SYNERGY_ENTERPRISE "Build Enterprise" ON)
@ -326,7 +329,7 @@ endif()
# Apple has to use static libraries because
# "Use of the Apple-provided OpenSSL libraries by apps is strongly discouraged."
# https://developer.apple.com/library/archive/documentation/Security/Conceptual/cryptoservices/SecureNetworkCommunicationAPIs/SecureNetworkCommunicationAPIs.html
if(APPLE)
if(APPLE OR DEFINED ENV{SYNERGY_STATIC_OPENSSL})
set(OPENSSL_USE_STATIC_LIBS TRUE)
endif()
find_package(OpenSSL REQUIRED)
@ -405,6 +408,7 @@ macro(generate_versionfile)
endif()
endmacro(generate_versionfile)
generate_versionfile()
if (${SYNERGY_BUILD_LEGACY_INSTALLER})
#
@ -416,8 +420,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set (SYNERGY_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
set (SYNERGY_BUNDLE_APP_DIR ${SYNERGY_BUNDLE_DIR}/Synergy.app)
set (SYNERGY_BUNDLE_BINARY_DIR ${SYNERGY_BUNDLE_APP_DIR}/Contents/MacOS)
generate_versionfile()
configure_files (${SYNERGY_BUNDLE_SOURCE_DIR} ${SYNERGY_BUNDLE_DIR})
endif()
@ -426,7 +428,6 @@ endif()
#
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
message (STATUS "Configuring the v1 installer")
generate_versionfile()
set(QT_PATH $ENV{CMAKE_PREFIX_PATH})
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/wix ${CMAKE_BINARY_DIR}/installer)
endif()
@ -442,7 +443,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux|.*BSD|DragonFly")
else()
install(FILES res/synergy.desktop DESTINATION share/applications)
endif()
generate_versionfile()
endif()
else()

View File

@ -20,6 +20,7 @@ Enhancements:
Github Actions:
- #1043 Adding upload to s3 feature on all OSes
- #7098 Add Apple M1 runner
===========
v1.14.1-stable

View File

@ -14,11 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(synergyd)
add_subdirectory(synergyc)
add_subdirectory(synergys)
add_subdirectory(syntool)
if (SYNERGY_BUILD_LEGACY_SERVICE)
add_subdirectory(synergyd)
endif (SYNERGY_BUILD_LEGACY_SERVICE)