Also:
- Surfaced the comment about the Kitware repo so it's more visible
- Remove the hard-coded CMake version in comment which is likely to get out of sync and confuse someone
* Use Deskflow Name
* Remove business-oriented options from issue templates
* Remove business-oriented workflow
* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)
* Update readme to reflect new project name and goals
* Found some more "synergy" to rename
* Rename `synlib` to `app`
* Rename `syntool` to `deskflow-legacy`
* Rename `synwinhk` to `dfwhook`
* Rename dirs from synergy to deskflow
* Rename more "Synergy" files
* Rename app bundle ID
* Fixed copyright typo
* Rename only title in serial key dialog (to be moved downstream later)
* Preserve original serial key window for moving downstream
* Restore dialogs ready for moving downstream
* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)
* Restore Volker's original project name
* Fixed mimetype
* Fixed weird grammar
* Fixed (more) weird grammar
* Broken link, restoring (but we should move all links out of source)
* Broken link, restoring (but we should move all links out of source)
* Add write permission to valgrind-analysis.yml
* Restore AUR conflicts
* Apply Clang format
* Update ChangeLog
* Back out version change
---------
Co-authored-by: Nick Bolton <nick@symless.com>
* Delete all gcda files when integtests fail
* Update ChangeLog
* Test failure
* Move test dir creation to main
* Undo retry loop which didn't solve the issue
* Use `-fprofile-update=atomic` according to gcov bug 68080
* Use `WINDOWS_RUNNER` var to determine custom runner name
* Remove `if` step
* Change var to `CI_WINDOWS_RUNNER`
* Use other runner vars and fall back to free runners
* Update ChangeLog
* Use `CI_MAC_INTEL_RUNNER`
* Set Mac name depending on var
* Use `CI_LINUX_ARM_RUNNER`
* Change CI var to `CI_ENABLE_PACKAGING`
* Use exclusions to remove ARM runners when var not set
* Switch to `CI_USE_LINUX_ARM_RUNNER` var
* Exclude arm runners if `CI_USE_LINUX_ARM_RUNNER` not set
* Fixed path and actually capture `matrix` as var
* Fixed path
* Add debug step
* Kick build
* Add EOL delimiters
* Move action to composite action for reuse
* Make JSON output pretty
* Add shell prop
* Fixed output var name
* Cleanup debug
* Move debug to same step
* Kick build
* Use `needs` on other jobs
* Also depend unix on setup
* Use .venv as Python venv dir
* Update refs to Python venv dir and use action to cache and setup
* Add missing shell: bash
* Source for Python deps
* Exclude .venv from lint
* Update ChangeLog
* Add cache-key arg for init-python
* Add missing "
* Use workflow specific Python cache names
* Fixed cache key for Linux
* Use bash if to make output clearer in case of skipping.
* Clearer debug output
* Add check for cache key
* Add missing shell
* Add SonarCloud and Valgrind venv cache
* Fixed typo
* Fixed OpenSSL exe dir to use tools dir
* Simplify vcpkg caching and use system vcpkg
* Only use ref for version when ref is a tag
* Add condition for event input
* Add restore keys for vcpkg cache
* Improve step name for vcpkg_installed
* Use `windows-2022` runner
* Update ChangeLog
* Revert "Use `windows-2022` runner"
This reverts commit f9e00cbcb3588e58914d2b9e73b3c5734a12d329.
* Add coverage for both targets
* Use var for test bins
* Disable cmake-format comment fiddling
* Refactor GUI source config
* Use bin var for tests
* Remove unused member
* Add integration tests to CI
* Use modern cmake args
* Use max threads for build
* Use better var name for CPU core count
* Split build and configure steps
* Combine tests into action and add a PR comment
* Fixed yaml indentation in action
* Pass GITHUB_TOKEN
* Update coverage paths for SonarCloud
* Don't ignore return codes
* Add shell
* Run Valgrind on integ tests
* Use header for tests
* Save test results in table
* Move setup step outside of action
* Change logic of creating PR comment
* Remove header formatting
* Use emojis for simplicity
* Run build wrapper in build dir
* Use default make target
* Pass secrets
* Fixed SonarScanner warnings
* Don't allow unit tests to fail
* Fixed typo
* Update sonar scanner paths
* Fixed line endings
* Use step output
* Improve exclusion glob
* Exclude files from coverage
* Restore simpler pattern
* Set temp file path
* Coverage tests
* Re-create comment at start of job
* Append table header
* Add setup action
* Checkout before action
* Re-add projectBaseDir
* Restore original sonar scanner
* Use bash syntax for if
* Remove unused `shell`
* Add missing shell for valgrind action
* Restore new sonar scanner config
* Add missing shell
* Run only MainWindowTests
* Test with big change
* More changes
* Move to correct dir
* Remove test code
* Disable broken integ tests
* Switch coverage to front of filename
* Remove filter
* Refactor status step
* Disable segfault test
* Fixed: No status showing
* Add link to workflows
* Add test code for coverage
* Revert "Add test code for coverage"
This reverts commit c42309349b64f7828f2ca89149b30c5b0f93478a.
* Get workflow run URL
* Add missing shell
* Use dynamic URL in valgrind comment
* Revert "Revert "Add test code for coverage""
This reverts commit 9cff58b7ea5c581681ae6d6660c073bd76ba99aa.
* Test with commented out code
* Reintroduce 6 lines for coverage
* Test code to pass scanner
* Test code to pass scanner (take 2)
* Simplify to 2 new lines
* Add another line
* Trim changes to only 3 lines
* Add task for all tests
* Surface warning on failure
* Simplify build-wrapper step and move settings from web UI to CI
* Add missing line delims
* Also run tests action on Windows and macOS
* Add names to action steps
* Add timeout for test steps
* Add failure warning for integ tests
* Remove space
* Disable failing test on macOS
* Disable problem matcher
* Simplify names
* Disable freezing test on Windows
* Disable failing integ test on Windows
* Add build-kill task
* Ignore kill result on Windows
* Delete test code
* Update ChangeLog
* Move timeout to workflow step
* 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 cb3caf188d2b79ed083a62fc091de295f9889f3d.
* 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
* 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
* 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
* 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 0dd741e8cd6fde21e69d4fb871e835a5f4fa1a23.
* 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)
* 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