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:
37
.github/workflows/aws-upload-linux-centos.yml
vendored
37
.github/workflows/aws-upload-linux-centos.yml
vendored
@ -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}}/"
|
||||
|
||||
37
.github/workflows/aws-upload-linux-debian.yml
vendored
37
.github/workflows/aws-upload-linux-debian.yml
vendored
@ -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}}/"
|
||||
|
||||
@ -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}}/"
|
||||
|
||||
17
.github/workflows/aws-upload-linux-ubuntu.yml
vendored
17
.github/workflows/aws-upload-linux-ubuntu.yml
vendored
@ -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}}/"
|
||||
|
||||
45
.github/workflows/aws-upload-mac-10.13.yml
vendored
45
.github/workflows/aws-upload-mac-10.13.yml
vendored
@ -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/"
|
||||
39
.github/workflows/aws-upload-mac-10.15.yml
vendored
39
.github/workflows/aws-upload-mac-10.15.yml
vendored
@ -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
58
.github/workflows/aws-upload-mac.yml
vendored
Normal 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 }}/"
|
||||
39
.github/workflows/aws-upload-raspberry.yml
vendored
39
.github/workflows/aws-upload-raspberry.yml
vendored
@ -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 }}"
|
||||
|
||||
123
.github/workflows/aws-upload-windows.yml
vendored
123
.github/workflows/aws-upload-windows.yml
vendored
@ -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
121
.github/workflows/job-build-mac-m1.yaml
vendored
Normal 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}"
|
||||
57
.github/workflows/job-test-mac.yml
vendored
57
.github/workflows/job-test-mac.yml
vendored
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user