Commit Graph

196 Commits

Author SHA1 Message Date
Nick Bolton
4fa863c3ea
Use GitHub ARM64 runner for Linux (#7390)
* Use Ubuntu ARM64 runner

* Add Windows 11 8-core ARM64 and use 8-core for Linux

* Add bootstrap step

* Install and use choco

* Add git to path

* Split bootstrap steps

* Merge bootstrap steps

* Export path manually

* Install Python in bootstrap step

* Add Python to path

* Add choco to path

* Add C:\Python312\Scripts to path

* Back out ARM64 runner (perhaps only suitable for running programs)

* Use ARM64 for build containers
2024-07-14 23:20:32 +01:00
Nick Bolton
481680d072
Run install_deps.py script when building containers weekly (#7384)
* Don't run CodeQL in PR draft

* Speed up analysis workflows

* Run install deps on Debian

* Add badge to readme

* Fixed copy and use workdir

* Use mount instead of copy

* Fixed unwanted && and changed workdir

* Split deps and deps-full

* Fixed context

* Use /app dir

* Use copy instead

* Revert to --mount and use .py (not .sh)

* Test

* Add `./scripts/install_deps.py` to all platforms

* Add missing syntax

* Fixed Python dep for OpenSUSE

* Temp remove WORKDIR for OpenSUSE

* Re-add workdir

* Increase timeout

* Delete `zypper --non-interactive remove busybox-which`

* Restore python3

* Test

* Rename to `lint-source-code`

* Beef up analysis runners

* Fixed workflow runs-on

* Use deps script

* Try pipx for gcovr

* Use containers with deps

* Add -y arg

* Install curl

* Merge deps step

* Add unzip dep

* Make Git dir safe

* Add .local/bin to env

* Improve step name

* Use `pipx ensurepath`

* Install gcovr with apt

* Use Ubuntu 22 with pip

* Update ChangeLog

* Use 16-core for Windows

* Use choco cache

* Test

* Use 8-core for Windows (picked up quicker, more available?)
2024-07-11 15:26:38 +01:00
Nick Bolton
a6ac8a1946
Set macOS min version to macOS 12.0 (#7381)
* Set macOS min version to 12

* Update ChangeLog
2024-07-10 15:22:16 +00:00
Nick Bolton
e9557b8c19
Improve workflow triggers to ensure correct run time (#7378)
* Improve workflow triggers to ensure correct run time

* Update ChangeLog
2024-07-09 18:50:54 +01:00
Nick Bolton
22d8ee9cd0
Automated weekly build of Docker images for Linux runners (#7376)
* Change tag name

* Change tag name

* Add ARM64 containers and Fedora 40

* Use dnf for Fedora

* Dist upgrade on Debian

* Upgrade and clean on Fedora

* Add name

* Fixed typo and use platform in Dockerfile

* Use matrix instead for arch

* Use config dir in matrix

* Fixed wrong var

* Specify base image in workflow

* Re-add platform

* Use slim images

* Run on Buildjet

* Use new images

* Add comment

* Remove QEMU (not needed because of Buildjet)

* Finish Dockerfile for Arch and OpenSUSE

* Use new containers

* Use correct config dir names

* Fixed config for Manjaro

* Missing zypper arg

* Clean Arch and OpenSUSE

* Update ChangeLog

* Elaborate on comment
2024-07-09 18:08:09 +01:00
Nick Bolton
0e07af6cf3
Automated weekly build of Docker images for Linux runners (#7375)
* Initial container builder for Debian 12 image

* Use containing dir as context
2024-07-08 21:29:54 +01:00
Nick Bolton
6e82f64ec8
Upgrade from Qt5 to Qt6 for more modern UI (#7373)
* Use Qt 6

* Fixed some Qt6 deps

* Fixed minor compile issues for Qt6

* Drop Debian 11 support (no Qt6 lib)

* Move Debian to top

* Delete expensive to maintain code that yeilds low UX gain

* Unpack all values

* Use %lld instead of %u

* Minor UI improvements

* Add deps for Fedora, OpenSUSE, and Arch

* Fixed CMake lint issue

* Use package name from build.opensuse.org

* Used `zypper search` to find correct package names
2024-07-08 15:37:51 +01:00
Nick Bolton
d1abddde84
Add Git SHA to about screen and --version (#7372)
* Add Git SHA to about screen

* Update ChangeLog

* Fixed formatting

* Use `GIT_SHA` for Git SHA

* Add `GIT_SHA` env var

* Use env var `GIT_SHA`

* Shorten the Git SHA to 8 chars for readability

* Shorten Git SHA to 8 chars

* Increase Linux timeout (Fedora 39 is always slow at deps)

* Update ChangeLog

* Revert "Update ChangeLog"

This reverts commit ac52777763.
2024-07-08 11:40:22 +01:00
Nick Bolton
bfaea34291
Re-implement packaging for GitHub workflows (Linux ARM) (#7369)
* Debian 12 ARM64 target

* Fixed comments

* Don't check for server name when exiting because of args

* Exit with success when using `--version`, `--help`, etc

* Test Linux installation

* Add Windows ARM builder

* Extract magic string

* Use proper arch name

* Swap arch order

* Fixed test

* Bootstrap Windows ARM runner

* Install winget

* Conditionally install winget

* Winget take 2

* Use shell: pwsh

* Try `powershell`

* Try cmd to install winget

* Only build distro once

* Use enum for clarity

* Remove shell

* Back out Windows ARM testing

* Attempt arch matrix

* Add Fedora arm64

* Label all -amd64

* Special case for zypper

* Fixed bad var name on Windows

* Add missing /bin ignore

* Disable GPG check on OpenSUSE

* Fixed typo

* Update ChangeLog
2024-07-08 09:32:55 +00:00
Nick Bolton
51c7bcb138
Override stage of not release (#7371) 2024-07-07 22:16:45 +01:00
Nick Bolton
f85d1b8289
Rename action (#7370) 2024-07-07 20:22:20 +01:00
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* Simplify options

* Use more sensible edition logic

* Use set instead of option for string

* Improve macro for product name

* Add tests launch config

* Restore unregistered state

* Reorganize cases for title and improve function name

* Code coverage on by default

* Fixed copyright

* Improve code coverage and test readability

* Separate build-all and build-coverage

* Back out coverage on by default

* Fixed bad var in cmake

* More verbose logging for coverage

* Restore tasks

* Restore preLaunchTask

* Use default comparitor

* Move temp files to temp dir

* Add tasks for tests

* Support for wstring

* Upgrade sonar-scanner to 6 on Debian 12

* Use modern pip install

* Install python for sonarcloud

* Use Ubuntu and install deps

* Fixed sonar-scanner URL

* Fix exported dir

* Persist build dir

* Don't use venv for pip install gcovr

* Fixed another path

* Update actions/checkout to v4 for SonarCloud analysis workflow

* Add coverage task

* Improve coverage for SerialKeyEdition.cpp

* Enable licensing for builds

* Fixed invalid macro names, missing arguments, etc

* Fixed more copyright

* Fixed incorrect use of "enterprise"

* Fixed incorrect use of "business"

* Experiment with environment

* Make package prefix variable

* Add environment matrix to all OS

* Improve job names

* Make job names easier to read

* Roll back environment matrix (too much noise)

* Fixed: default should override required

* Refactor CI with vars

* Fixed arg for env.get_env
2024-07-04 10:14:54 +01:00
Nick Bolton
37bb0f989e
Format all source with Clang and introduce lint workflow (#7364)
* Lint script with CLang format

* Use `-i` for `clang-format` and add more logging for lint scripts

* Apply LLVM CLang formatting

* Fixed comment

* Update ChangeLog

* Fixed bad return code logic

* Improve output for linters

* Fixed re-used var in clang lint

* Fixed include order for tests and use `#if 0` instead of commenting out code

* Use full Clang format dump

* Dump Ubuntu Clang format

* Dump Clang format from Debian

* Dumped from: clang-format version 18.1.8

* Revert "Dumped from: clang-format version 18.1.8"

This reverts commit b9bbda2995.

* Remove BasedOnStyle

* Restore base Clang format file

* Use clang-format from pip

* Apply Clang format 18 style

* Add clang_format deps

* Fixed include order issues and *some* accidental includes
2024-07-02 20:07:06 +01:00
Nick Bolton
f2cc964b3d
Schedule CI daily at 5am to detect code rot early (#7363)
* Schedule CI daily at 5am

* Package but don't upload when cron

* Update ChangeLog

* Comment explaining CI use
2024-07-02 16:36:54 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Nick Bolton
bec38ab47b
Re-implement packaging for GitHub workflows (Windows) (#7360)
* Add new version env vars to example

* Remove test file

* Move CMake packaging to separate module and configure OpenSSL path for Windows

* Make VS Code CMake build task default

* Generate Microsoft-friendly 4-digit version number

* Update macOS bundle .plist with build year variable

* Use correct OpenSSL path and fixed various MSI variables

* Use correct rest/dist dir for MSI

* Add version .rc file for Windows

* Use macro instead of over-complicated version query command

* Made cmd_utils more secure by defaulting to no-shell and no-print

* Add certificate management module

* Implement packaging script on Windows

* Refactor Mac packaging script to use new cmd_utils args and new cert module

* Update ChangeLog

* Change PFX env vars and add to CI

* Use import as instead of from lib to solve resolve issue

* Allow custom certificate extensions

* Check for package version when using gdrive

* Make version number required

* Add missing shell

* Add missing gdrive value in test

* Find OpenSSL dir based on openssl binary

* Only use first OpenSSL entry

* More verbose logging

* Improve logging

* Only use env var if not empty

* Fixed wrong var

* Fixed macOS GitHub artefact name

* Change filename format to match new convention
2024-06-28 09:35:18 +00:00
Nick Bolton
ab57fac2a7
Use org token instead of regular token to create releases (#7358) 2024-06-26 17:29:57 +01:00
Nick Bolton
7fa31f9c54
Match release branch with release/** pattern (#7357)
* Test

* Fixed release branch match
2024-06-26 17:04:00 +01:00
Nick Bolton
7103bbed6d
Re-implement CI auto version increment for packaging (#7354)
* Only install Python deps with deps script

* Remove hard-coded Qt version in CI

* Add example .env

* Improve comments in .env file

* Simplify config reader and Choco CI config

* Actually return the config value

* Move deps before Qt version env call

* Remove `self.`

* Move venv ensure to main

* Fixed arg

* Move config import to function

* Move ensure_module to function

* Simplify over-complicated `Version.cmake`

* Move code to `github` module

* Use `symless/next-version-action`

* Make CMake version file even simpler

* Set version from tag

* Create release when master or release branch

* Don't run CI on master push, only release

* Fixed bac macro

* Use new version values

* Handle empty version env var

* Also strip version file value

* Remove quotes

* Add @master to action

* Read version from file

* Simplify version file read

* Fixed typo in env var

* Remove unused var

* Delete legacy build number action

* Fixed env var

* Version file read shouldn't be needed

* Remove weird and unnecessary include path

* Update ChangeLog

* Remove unused config value

* Better name for changelog check

* Delete broken Flatpak CI

* Run stale issue cron at midnight

* Update ChangeLog

* Add version input for manual run

* Print next version

* Fetch all tags

* Use more idiomatic approach

* Set to pre-release when master

* Remove unnecessary `commitish`

* Fixed wrong ID

* More specific IDs

* Reduce config needed for upload

* Only /release can be non-pre-release

* More discreet package path for gdrive

* Try without setting path

* Remove seemly unused step

* Better name for Qt version step

* Fixed bad var ref

* Better name for package dir

* Fixed bad input name

* Add missing shell

* Workflow to test upload action

* Remove fetch tags

* Use bash to cut version

* Remove name and make conditional

* Replace deprecated set-output

* Fixed env var name

* Missing dir sep char

* Add comment to test workflow

* Improve input descriptions

* Replace deprecated set-output
2024-06-26 15:46:42 +00:00
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
Kyle Bloom
fd81fef749
Add missing make instruction (#6974)
* Add missing make instruction

* Update changelog
2021-04-12 14:37:05 +03:00
SerhiiGadzhilov
3c2810a3e0
SYNERGY-799 Add validation for aliases (#6969)
* SYNERGY-799 Add validation for aliases

* SYNERGY-799 Update ChangeLog

* SYNERGY-799 Fix code smells

* SYNERGY-799 Use new version of "trilom/file-changes-action"
2021-03-24 14:38:50 +02:00
Kyle Bloom
a318392985
Synergy 801 wrong folder (#6966)
* Remove git fetch

* Testing changes

* Upload artifact

* Move python build version

* Fix artifact

* Move test

* Add extra logging

* Test version

* Reset workflow
2021-03-19 11:04:42 +02:00
Kyle Bloom
927beb5930
Synergy 801 fix filename (#6965)
* SYNERGY-801 Add selfhosted runner for osx 10.13

* Update changelog

* Modified 10.13 to dmg name

* Update ChangeLog
2021-03-18 14:44:17 +02:00
Kyle Bloom
592be8159a
SYNERGY-801 Add self-hosted runner for OSX 10.13 (#6962)
* SYNERGY-801 Add selfhosted runner for osx 10.13

* Update changelog
2021-03-18 12:31:45 +02:00
SerhiiGadzhilov
2009409c14
SYNERGY-786 The system resets server name (#6961)
* SYNERGY-786 The system resets server name

* Update ChangeLog

* Update job-test-windows.yml

* Update job-test-windows.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml
2021-03-12 20:09:30 +02:00
Kyle Bloom
54cb817de8
OpenSSL find package (#6952)
* Change cmake to use find_package for openssl

* Change cmake prefix paths

* Fix Qt prefix path

* Limit static to apple

* Re-add qt bin path

* Fix use of apple cmake variable

* Update ChangeLog

* Update CMake prefix path for mac and windows tests

* Fix windows test

* Seems to fix mac test

* Brew defined prefix paths

* Explicitly ensure all homebrew dependencies
2021-03-03 14:04:39 +03:00
Kyle Bloom
d072b5064b
Add stage to file name (#6946)
* Add stage to file name

* ChangeLog

* Update issue number

* Fix debian control file for enterprise

* Fix enterprise check
2021-02-10 21:01:44 +02:00
Kyle Bloom
0d3ac899d0
Fix package glob (#6945)
* Fix package glob

* ChangeLog
2021-02-10 17:41:57 +02:00
Kyle Bloom
d7aec51fe7
Raspberry pi (#6941)
* Add runner for raspberry pi 3

* Changed name

* Add matrix

* ARM64 not ARM for pi-4

* Seporate artifact name for artifacts

* Add name to matrix

* Seporate build and test

* Fix $(name)

* Retry pi

* Retry with echo

* Use revision in filename glob

* add deb option

* Re activate tests

* Add scp upload

* Change release uploader

* New ssh key

* ChangeLog

* Upload test

* Show file contents

* Kick actions

* Overwrite test file

* Change scp deploy

* Fix local and remote

* Remove test job

* Allow pi-4 to run full parallel

* Build deb only when on master push

* Fix build version for raspberry pi

* Upload files not folder

* Cleanup test and remove artifacts

* Add enterprise builds

* Change build time to release

* Change create release token to allow propogation
2021-02-10 15:18:32 +02:00
Kyle Bloom
70d67040b7
Revert openssl changes (#6926)
* Revert "Core builds (#6908)"

This reverts commit 4c7456d3cc.

* Re-add minor gitignore changes

* Re-add buildCoreWindows script

* Re-add synergy no legacy flag

* Minor format fix

* Revert openssl checksums

* Remove enhancement

* Install python-pip for gcovr

* Fix mixed tabs and spaces
2021-01-26 13:36:39 +02:00
Kyle Bloom
4c7456d3cc
Core builds (#6908)
* Fix formatting in CMakeLists

* Add SYNERGY_NO_LEGACY environment flag

* Add build script for Windows

* Find_package for OpenSSL

* Move build scrits to scripts folder

* Add macOS and Linux build scripts

* Add environment variable

* Compile core with static openssl

* Default builds to Release

* Streamline OpenSSL dependancies

* Remove openssl from repo

* Change actions to test actions

* Add zip creation to build scripts

* Re-add original tests

* Add action value output

* Build per platform on release

* Fix path for core build

* Temporarily keep artifacts

* Set execute flag

* Zip before archiving

* Static build only for windows

* Remove -m flag from zip

* Change zip to tar

* Fix workflow name

* Add hints to openssl on mac

* Fix zip files

* Fix verbose flag on tar

* Remove path on download artifacts

* Try an array of build targets

* Extract action binaries

* Install full openssl

* Add 32bit openssl

* Modify installer to use the openssl.exe from ext

* Install OpenSSL full for windows release build

* Add openssl installation during windows CI

* Modify changelog

* Add enhancments section

* Remove bottom line in changelog
2021-01-20 14:47:56 +00:00
Serhii Hadzhilov
65503a4791 SYNERGY-723 Don't use the word “Version” for release names. 2021-01-15 16:28:23 +02:00
SerhiiGadzhilov
6fa21224a2
SYNERGY-400 Unify artifacts names (#6896)
* SYNERGY-400 Unify artifacts names

* SYNEGY-400 Check stage during tag creation
2020-12-31 16:27:15 +02:00
SerhiiGadzhilov
a1640d0b32
SYNERGY-400 Make build for every merge to master (#6885)
* SYNERGY-400 Generate build number and create release with tag

* SYNERGY-400 Changes for Azure Piplines

* Update ChangeLog
2020-12-24 14:22:25 +02:00
Ignacio Rodriguez
631139d42b modified check 2020-12-15 19:45:50 +07:00
Kyle Bloom
cd2d7ce39c Typo 2020-12-11 10:15:53 +00:00
Kyle Bloom
bf9049fabd Change SonarCloud to run on pull_request_target 2020-12-11 10:15:42 +00:00
SerhiiGadzhilov
38b35cd6d9
SYNERGY-551 update macOS installer. (#6844)
* SYNERGY-551 Update macOS installer

* New icon

* SYNERGY-551 Update macOS installer.

* SYNERGY-551 Update ChangeLog

* Fix GitHub action for Windows build.

* Using new version of setup-msbuild

* Fixed env. variables
2020-11-19 14:07:16 +03:00
Ignacio Rodriguez
94e04c634b cmake instead of cmake3 2020-11-10 22:41:32 +07:00
Ignacio Rodriguez
50a1172a44 with sudo 2020-11-10 22:32:57 +07:00
Ignacio Rodriguez
abb1568339 install command copied from our Dockerfile 2020-11-10 22:30:00 +07:00
Ignacio Rodriguez
a43041389e adding qt 2020-11-10 22:28:10 +07:00
Ignacio Rodriguez
25a61c9a76 sudo 2020-11-10 22:25:44 +07:00
Ignacio Rodriguez
ebcf923845 adding required packages 2020-11-10 22:23:37 +07:00
Ignacio Rodríguez
096ee5fbd8
Create codeql-analysis.yml
SYNERGY-384
2020-11-10 22:05:39 +07:00
Serhii Hadzhilov
b53cc74b6a SYNERGY-504 Temporary remove Raspberry PI from workflow. 2020-10-28 19:30:48 +02:00
Jnewbon
d3220f8a3a
Switched to Github actions for builds on PR and pushes 2020-10-05 12:56:00 +01:00
Jamie Newbon
6f02038ef7 Added job to add issue to jira automatically 2020-09-01 13:41:07 +01:00
Jnewbon
9b29327b40
#6750 Change build type to debug
to prevent optimization
2020-08-26 19:19:13 +01:00
Jnewbon
3ac4896b53
#6750 Removed pip file 2020-08-25 22:36:39 +01:00