Commit Graph

127 Commits

Author SHA1 Message Date
Nick Bolton
17c64e2f3a
Workflow to test dist dir (#7356) 2024-06-26 14:13:53 +01:00
Nick Bolton
ab3ea56980
Add workflow_dispatch for release workflow (#7355) 2024-06-25 22:24:22 +01:00
Nick Bolton
865063b77c
Re-implement packaging for GitHub workflows (macOS) (#7353)
* Restore Azure macOS dist scripts

* Move steps to workflow for testing

* Always upload to GitHub

* Add codesign ID

* Echo codesign ID

* Add cert import code

* Stub file for Mac

* Self-install pyyaml and choco

* Auto add env var on Windows

* Auto add CMAKE_PREFIX_PATH to .zshrc

* Shorter var names

* Append env var instead of replace

* Only set env var if not CI

* Improve function names and print output

* Simplify Linux package command

* Support continuation sequence

* Add note about Windows

* Remove dead doc file

* Tidy up version file and move to .env format

* Use Python venv for deps

* Only use venv on Mac

* Rename package script for all OS

* Add package and dist steps, and use common upload

* Remove version source

* Fixed vars not available

* Fixed python paths

* Use RuntimeError which is sufficient

* Remove dead code

* Add extras command for Linux

* Always install deps on Linux

* Move Python deps to CI

* More env bootstrapping, ugh

* Forgot to return!

* Simplify code

* Use shell

* Simplify command

* Skip sudo if no sudo

* Update package managers

* Fixed Fedora package name

* Tidy up commands

* Use newer upload artifact

* Strip don't trim!

* Check for version file and reduce log verbosity

* Remove CentOS 7.6

* Print more info about return code and log more to stderr

* Install certificate on macOS

* Better errors for no env var

* Implement Mac signing and notary

* Move dmgbuild load

* Simplify notary

* Rename dist files to same as dest

* Fixed paths for dist

* Move checked-in dist files to res (dist is meant to be a temp dir)

* Fixed Mac path in CMake

* Fixed dmg path

* Format Python

* Ignore import warnings and move function

* Fixed cmake paths

* Add missing env var secrets

* Remove extensions from GH upload

* Make deps.yml general purpose config

* Add cspell config

* Pass codesign ID

* Use new general config file

* Sign bundle on Mac

* Move imports to functions

* Escape chars in docs

* Fixed config key accessor

* Change module import order

* Move file to tmp dir in workflow dir

* Persist temp dir

* Add tmp dir to ignore

* Flush stdio before running process

* Trying quotes around env values

* Add codesigning certificate validation for Mac signing

* Revert "Trying quotes around env values"

This reverts commit 0dd741e8cd.

* Extract codesign verify

* Fixed version number

* Ignore .cache dir

* Fix macro name

* Package name with version number and arch

* Improve package function readability

* Change order of vars

* Testing upload to GDrive

* Add missing return code

* Use positional args and declare error

* Use machine instead of arch and remove build from filename

* Remove redundant build jobs

* Replace massively over-complicated `build_version.py` script

* Move version info to env module

* Use version info script

* Fixed: too many values to unpack

* Chmod version script

* Use shebang

* Don't check return code on Linux

* Fixed function name

* Convert to GitHub specific script

* Env vars must be after configure

* Fixed Windows env var command

* Remove && from deps command so it's not conditional

* Fixed position of set env

* Change order of env script

* Only upload when not draft

* Test

* Tweak config

* Fixed if condition

* Don't package in draft (Windows and Linux)
2024-06-24 09:36:30 +00:00
Nick Bolton
8f13ce8e7a
Combine GitHub workflows to reduce config duplication (#7352)
* First attempt merging CI test

* Remove older versions of Linux

* Blend Docker containers and GitHub runners

* Test older configure/build method for Windows

* Re-add old Windows workflow

* Use legacy CMake method for more distros

* Rename image to container

* Reduce config dupe

* Fixed logic for configure

* Use newer build command for Windows

* Move full container name back to matrix (yuk)

* Move GIT_COMMIT to common env

* Use more specific Windows runner name

* Fine-grained timeouts for Mac

* Fixed unit test path for Windows

* Rename CI workflow

* Beginning of macOS dist action

* Update ChangeLog

* More triggers for CI workflow

* Attempt to fix test path on Windows

* Move dist-macos action

* Add dir command for testing

* Remove `test-` job prefix

* Bump msbuild action and try modern cmake again

* Composite actions don't support defaults... grr

* Remove dir diag command

* Trying to use Choco again for VS dep

* Don't skip ninja

* Flush stdout

* Add cl to PATH

* Trying out ilammy/msvc-dev-cmd@v1

* Use @v3 checkout for older Linux

* Fixed comment typo

* Remove dead scripts

* Improve env var names

* Run strip from build dir

* Split out deps script to lib files

* Remove stub action

* Remove dist step for now
2024-06-19 17:48:18 +01:00
Nick Bolton
d0a4c3d7a0
Use deps script to make life easier for contribs (#7351)
* Use deps script to make life easier for contribs

* Make readme more developer friendly

* YAML file to describe Linux deps

* Silent fail for yaml module (Python 3.6+)

* Move Qt install to deps script

* Update readme to add Windows command

* Fixed Linux package name

* Simplify env vars for workflow

* Exclude scripts from SonarCloud

* Move all deps config to .yml file

* Fixed exclude glob

* Simplify quickstart

* Fixed macOS deps config key name

* Fixed bug in Linux config read

* Use backslash for consistency

* Change SonarCloud path to /build/

* Fixed dep name

* Exclude scripts in CMake coverage

* Move script coverage exclusion to online config

* Use try/except instead of checking return value

* Fixed comment typo
2024-06-14 15:32:47 +00:00
Nick Bolton
444b7d764e
Repair macOS CI workflow ahead of combining all CI workflows (#7350)
* Test

* Fixed Mac image names

* Version lock to macOS 14

* Change name of Homebrew Qt package

* Use CMake to build

* Remove dep already installed

* Remove version source

* Remove env var not needed

* Add homebrew path to CMake presets

* Revert "Add homebrew path to CMake presets"

This reverts commit 6b1342cdc2.

* Add Qt prefix to workflow

* Upgrade CodeQL analysis to v2

* Rename SonarCloud workflow for convention

* Delete test file

* Upgrade CodeQL analysis to v3
2024-06-11 11:48:15 +01:00
Nick Bolton
ef31d3e21b
Script to install deps (Windows only for now) (#7331)
* Script to install deps (Windows only for now)

* Set runner temp dir for choco

* Add missing os import

* Modify for CI

* Update CL

* Improve logging

* Update workflow to install deps via script

* Explain 3.1.1 version lock
2024-01-19 14:44:50 +00:00
Nick Bolton
29e66773c8
Reset error state before calling Process32Next (#7328)
* Convenience script to install daemon

* Use -p when re-launching with runas to keep window open

* Align new script with PEP 8

* Add more args for flexibility

* Add task to reinstall Windows daemon

* Fixed mistake in continue message

* Close task window after running script

* Reset error state before calling Process32Next

* Update CL

* Increase Windows CI timeout

* Bump timeout again due to choco
2024-01-16 17:16:26 +00:00
Nick Bolton
d34d9eef86
Add timeout to all GitHub workflows (#7325)
* Add 10 min timeout to all workflows

* Update ChangeLog

* Set analysis jobs to 20 min timeouts

* Update ChangeLog
2024-01-11 17:44:42 +00:00
Nick Bolton
d4133d1110
Use C++20 and CMake presets (#7322)
* Create tasks.json

* Delete gui.pro

* Swallow any exceptions from stopDesktop

* Upgrade to C++20

* Update ChangeLog

* Remove old versions of Ubuntu

* Ignore VS Code workspace

* Restore original CodeQL job name

* Add problem matcher and suppress warnings from within old CMake lib

* Bump CMake min version to 3.5

* Remove useless cmake_minimum_required

* HACK: temp comment out failing code

* Bump Qt to 5.12.6

* Delete tasks.json

* Create CMakePresets.json

* Fixed Qt link error: The input line is too long.

* Fixed invalid call to map erase

* Fixed incorrect use of RegCreateKeyEx

* Add VS Code tasks.json for cmake build

* Store `desktop` in char buf before using it

* Generate compile_commands.json

* Restore indentation

* Revert "Restore indentation"

This reverts commit d9f495460f.

* Restore original indentation (for now)

* Create extensions.json
2024-01-11 00:26:39 +00:00
Nick Bolton
55f68ed3e9
Switch to GitHub hosted Mac M1 runner (#7321)
* Switch to macos-latest-xlarge

* Improve job names

* Update create-release.yml

* Fixed workflow job names

* Further improve workflow naming

* Remove double checkout

* Rename Mac 11 workflow

* Remove redundant word

* Update ChangeLog

* Add matrix names for macOS

* Create test

* Delete test
2024-01-09 16:21:13 +00:00
Nick Bolton
69e77dcb54
Move build_version.py script to scripts dir (#7320)
* Delete job-build-raspberry-pi.yaml

* Update ChangeLog

* Delete job-test-raspberry-pi.yaml

* Restore CI/build_version.py

* Move build_version.py to scripts dir

* Update refs to build_version.py

* Update ChangeLog
2024-01-09 12:55:55 +00:00
Nick Bolton
fe8f405fe8
Remove workflows for slow self-hosted RPi runners (#7319)
* Delete job-build-raspberry-pi.yaml

* Update ChangeLog

* Delete job-test-raspberry-pi.yaml
2024-01-09 12:21:06 +00:00
Nick Bolton
daf9292c80
Remove Azure Pipelines config entirely (#7318)
* Remove Azure Pipelines

* Update ChangeLog
2024-01-09 12:13:11 +00:00
Nick Bolton
4c1d5daa00
Bump sonar-scanner-cli to 5.0.1.3006 (#7317)
* Bump sonar-scanner-cli to 5.0.1.3006

* Update ChangeLog
2024-01-09 11:46:01 +00:00
Nick Bolton
31775622f3
Fix CodeQL workflow: Failed to perl 404 Not Found (#7313)
* Try running apt-get update first

* Update ChangeLog
2024-01-09 10:06:46 +00:00
Nick Bolton
1ca66588c5
Delete unused Jira workflow (#7312) 2024-01-08 12:50:24 +00:00
Kyle Bloom
446b0a2e95
Update workflows (#7283)
* Update test actions

* Format stale issues

* Format jira issues workflow

* Format changelog check workflow

* Format build workflows

* Format create build

Also add make full action to remove core installs

* Format codeql analysis

* Add .nvmrc

* Update changelog

* Add concurrency group to CodeQL

* sudo install

* Update to windows latest

* Upgrade fedora distro list

* Add arch to runtime matrix

* Fix path for m1 builds

* Add enterprise and business flags
2023-09-25 17:26:06 +01:00
Kyle Bloom
33968c6dd3
Change name of flatpak uploaded to server (#7263) 2023-05-17 09:44:08 +01:00
Serhii Hadzhilov
c6e838bb00
Fix backward compatibility for m1 build (#7262)
* Fix backward compatibility for m1 build

* Update ChangeLog
2023-05-09 11:33:37 +03:00
Nick Bolton
9cedc57dc3
Create stale-issues.yml 2022-10-15 11:03:10 +01:00
Kyle Bloom
14513c8c48
Update macos workflow to use macos-latest (#7210)
* fix: Update macos workflow to use macos-latest

* chore: Update changelog
2022-08-04 09:43:31 +01:00
Kyle Bloom
0d7bc0dce9
Change flatpak name (#7187)
* Change flatpak name

* Update changelog

* Remove PR build

* Remove SYNERGY_DEB_VERSION creation
2022-06-08 15:59:50 +03:00
Kyle Bloom
1b346c4cb0 Change action condition to release 2022-05-27 15:56:27 +01:00
Daun Chung
cae96765cb
flatpack workflow to build flatpak installer (#7177)
* flatpack workflow to build flatpak installer

* rename flatpak build name

* changing job-build-flatpak, disabling other job-tests meanwhile

* update apt before attempting to install flatpak

* changing install command

* adding logs for installing flatpak

* running installation as root

* running installation as root - for each command

* attempting to use github action to build flatpak

* fix typo on name

* typo in image

* adding privilege option and fixing manifest path

* changing manifest-path

* uploading bundle to artifact

* changing synergy.desktop for flatpak build

* adding versioning to flatpak bundle and upload to bin storage on release

* version info fix

* running build_version as root

* adding __w to safe directory

* adding git config safe directory command to builder

* testing which part of version info is breaking

* falling back to local build of flatpak

* running only the normal synergy

* investigating build_version.py

* investigating build_version.py 2

* investigating build_version.py 3

* checking if raspberry pi build is working correctly

* get subprocess error

* printing subprocess error

* disabling try catch in version

* running git rev-list --tags command

* running git rev-list --tags command

* disabling other tests

* trying to run extra step in gitaction

* trying to remove extra step in gitaction

* fixing issues with subprocess

* try to run git rev-list

* test

* ignore versioning

* run original flatpak

* testing various build options

* attempting to run flatpak through raspberry

* raspberry flatpak installation 1

* fixing tabs in flatpak build

* trying apt over apt-get

* removing sudo from build process

* removing apt update

* trying to build without versioning

* testing build without publish

* testing

* adding fetch-depth in checkout

* checking out with v3

* getting flatpak to run without github action

* using ubuntu20.04 container

* attempting to add __w into safe directory

* adding dependencies installation

* remove sudo from installing dependencies

* removing all sudo commands from flatpak install

* moving all the apt-get installs in dependencies job

* add yes response to flatpak platform & sdk install

* proper install command for flatpak builder

* flathub input yes to flatpak builder install

* check if flatpak folder exist

* adding flatpak using apt-get

* add privilege option in docker

* removing flatpak finalize build / remove com.symless.Synergy

* listing flatpak dir

* testing to publish flatpak

* checking the directory for flatpak file

* correcting the path for scp action

* attempting to create a specific file in scp

* flatpak workflow cleanup

* cleaning up

* adding changelog info and changing flatpak patch files location

* fedora add safe directory

* creating business/enterprise YAML to replace based on env var

* build test

* disabling tests

* fixing YAML struct

* disabling replace action to see if its causing issue

* changing cp command without backslash

* checking if condition syntax

* uncommenting error at build_version

* fixing file location

* cleaning up actions

* changing workkflow to use .yml file without copying

* finalizing git action

* Remove git safe directory

* Add final line to missing files

* Move safe directory workaround

* Minor cleanup for flatpak files

Co-authored-by: Daun Chung <daunchung@github.com>
Co-authored-by: Kyle Bloom <kyle@symless.com>
2022-05-27 15:42:01 +01:00
Kyle Bloom
bd82dc39e9
Add fedora 36 build (#7181)
* Add fedora 36 build

* Update changelog

* Add fedora 36 test
2022-05-27 15:39:42 +01:00
Serhii Hadzhilov
c92ac1a71e
SYNERGY1-1497 Fix memory leak on macOS (#7178)
* SYNERGY1-1497 Fix memory leak on macOS

* Update ChangeLog

* Fix Fedora build
2022-05-24 12:36:06 +01:00
Kyle Bloom
d3ab180df6
Show all Raspberry PI builds (#7174)
* Try adding full matrix

* Remove PR build

* Update changelog

* Reset indentation
2022-05-19 11:57:13 +03:00
Kyle Bloom
bb31d11deb
Fix build issue with raspberry pi's (#7173)
* Minor change to deb-changelog

* Fix bash commands

* Update changelog

* Add comment explaining pass
2022-05-18 10:57:29 +03:00
Kyle Bloom
5711a5346f
Add changelogs to deb's (#7167)
* Add changelogs to deb's

* Update changelog

* Fix code smell
2022-05-12 09:27:59 +01:00
Kyle Bloom
a12cc175eb
Synergy3-1505 Add new distros to CI (#7162)
* Add new distros to CI

* Update testing workflows

* Checkout repo recursively

* Update changelog

* Github issue
2022-05-03 20:04:21 +03:00
Kyle Bloom
90847d064a
Brew bundle (#7161)
* use brew bundle to cleanly install macos deps

* use brew bundle to install deps

* Update changelog

* Update changelog for #7144

Co-authored-by: Stephen <stephengroat@users.noreply.github.com>
2022-04-28 18:53:00 +03:00
Serhii Hadzhilov
8ea7d05d85
SYNERGY3-203 Build fix (#7160)
* SYNERGY3-203 Fix azure pipelines

* SYNERGY3-203 Fix raspberry pi build

* SYNERGY3-203 Fix Linux build

* SYNERGY3-203 Update ChangeLog.txt
2022-04-26 18:48:43 +03:00
Serhii Hadzhilov
8be2e89c81
fix: SYNERGY3-203 Synergy 1 business (#7157)
* SYNERGY3-203 Add link to helpdesk

* SYNERGY3-203 Add a new cmake option

* SYNERGY3-203 Validate business key

* SYNERGY3-203 Check license during start

* SYNERGY3-203 Update windows title

* SYNERGY3-203 Unify license errors

* SYNERGY3-203 Fix code smell

* SYNERGY3-203 Update Azure scripts

* SYNERGY3-203 Update GitHub workflows

* SYNERGY3-203 Add UT

* SYNERGY3-203 Add UT
2022-04-26 15:11:09 +03:00
Kyle Bloom
a3ade33295
Change binary store (#7156)
* Update azure pipelines

* Update mac and pi jobs

* Remove unnessesary workflows

* test pi's

* Update change log

* Fix local file location

* Remove pull_request trigger
2022-04-21 19:33:32 +03:00
Kyle Bloom
9eb536a50a
SYNERGY3-150 Fix unstable build for windows core (#7148)
* SYNERGY3-150 Minor change to core build script

* SYNERGY3-150 Missing line continuation

* SYNERGY3-150 Re-enable flags

* SYNERGY-150 Disable on PR

* SYNERGY3-150 Changelog
2022-03-01 10:13:31 +00:00
Nick Bolton
4427e98e0f
Update feature_request.md 2021-10-27 14:19:57 +01:00
Nick Bolton
9e33ace5f5
Update bug_report.md 2021-10-27 14:19:25 +01:00
Nick Bolton
26719ca6bf
Update bug_report.md 2021-10-27 14:18:36 +01:00
Nick Bolton
206a217d77
Create FUNDING.yml 2021-10-27 14:17:25 +01:00
Kyle Bloom
5e2d355a3a
SYNERGY-1254 Fix core builds (#7103)
* SYNERGY-1254 Fix core builds

* Changelog

* Uncomment debian9

* Fix artifact name

* Fix workflow name

* Remove -j1 flag

* Turn off pull_request operations

* Add qt for ubuntu core builds

* Switch to python3-yaml

* Update ubuntu

* Cmake automatically manages include_directories

* Remove older fedora versions

* Add DBus to platform to ensure dependancy

* Change to synergy-vcpkg

* build macos

* Remove pull_request

* Add centos 8

* Change container

* Test core builds

* Remove setup

* Remove VCPKG_INSTALLATION_ROOT

* change checkout to use submodules

* Setup newer version of git for ubuntu

* Remove git requirement

* Remove pull_request event
2021-10-21 10:25:57 +03:00
Kyle Bloom
b932ccc46b
Add missing build_version for m1 mac (#7109)
* Add missing build_version for m1 mac

* Add ChangeLog
2021-10-19 12:25:57 +03:00
Kyle Bloom
19cd184146
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
2021-10-01 10:55:44 +03:00
Daun Chung
cd7d8df7a6
SYNERGY-1043 (#7084)
* testing github action on ubuntu to load binary to s3

* changing the job in linux back to original

* Delete .secrets

* adding logs to changelog

* renaming secrets keys

* separating s3 upload action

* attaching aws upload calls to pull request, for testing

* fixing the keys for s3

* changing name of upload actions

* fixing the indentation issue

* enabling ubuntu 18

* enabling all the older versions of linux

* removing curl + nodejs installation

* ubuntu using 1 thread to make

* running make -j1 on job-test-linux-ubuntu

* adding s3-uploader for mac and windows

* renaming upload jobs

* fixing paths of mac and windows

* setting windows directory

* setting up upload for raspberry pi os

* windows upload without backslashes

* windows upload to use correct repo

* adding mac_1013 + updating path for raspberry

* attempting to create github action to support x32 and x64

* adding quotes around comparison

* logging aqt install command

* attempting to log on windows

* splitting the set-output procedure

* setting ids to setting qt variables

* merging setup step into one

* test

* removing syntax issue

* logging build

* commenting out x32

* disabling x64

* adding force tag to openssl installation

* adding open_ssl_dir for x32 and x64

* syntax issue

* testing mac-1013 upload on push

* openssl test

* fix indentation issue

* keeping the OPEN_SSL_DIR and uninstall -> reinstall openssl

* indentation fix

* disabling x86 and keeping x64 for windows

* changing the upload trigger to when release created

* cleaning up yml files

* testing the last changes to yml files

* changing uploads to trigger on release, updating changelog

* removing unused env var from mac 10.13

* updating linux ubuntu test to use -j1 only when ubuntu16.04 is running

* removing enterprise matrix from mac-10.13

Co-authored-by: Daun Chung <daunchung@github.com>
2021-09-14 14:42:46 +03:00
Igor Sikachyna
c87bedf938
SYNERGY-1061 - Add libnotify on Linux and create notifications (#7055)
* SYNERGY-1061 - Add libnotify on Linux and create notifications

* SYNERGY-1061 - Update changelog

* SYNERGY-1061 - Don't use libnotify for mac builds

* SYNERGY-1061 - Use nullptr instead of 0

* SYNERGY-1061 - Fix CodeQL libs

* SYNERGY-1061 - Remove Ubuntu 19.10 from CI

* SYNERGY-1061 - Destroy notification object when done

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-07-12 17:10:44 +03:00
SerhiiGadzhilov
c58b69dfad
SYNERGY-972 Add Fedora 34 (#7035)
* SYNERGY-972 Add Fedora 34

* Update ChangeLog
2021-06-11 13:33:25 +01:00
SerhiiGadzhilov
f0940d2926
SYNERGY-1026 Add Ubuntu 21.04 (#7037)
* SYNERGY-1026 Add Ubuntu 21.04

* Update ChangeLog
2021-06-10 16:14:30 +03:00
Serhii Hadzhilov
9c438a48b4 SYNERGY-957 Install openssl 2021-06-01 13:09:29 +03:00
Serhii Hadzhilov
252734bc7d SYNERGY-1005 Add Fedora 33 to build and release pipeline 2021-05-27 12:37:51 +03:00
Serhii Hadzhilov
c3f6ae708a SYNERGY-999 Fix script that generates version number 2021-05-25 14:06:22 +03:00