* Remove Core5Compat
* Remove hack
* Update ChangeLog
* Revert "Remove hack"
This reverts commit dda3ad05818d346fdfcbb41944b9e731a4b547c0.
* Set `add_compile_definitions` for Qt
* Revert "Set `add_compile_definitions` for Qt"
This reverts commit 0258d2d226a76081068f4e565855f37993953be5.
* Use arm64_monterey bottle
* Revert "Use arm64_monterey bottle"
This reverts commit a46d743dc6883c925e2328b9628231189cb34367.
* Use aqt to install Qt on Mac
* Append env var instead of overwrite
* Fixed filename
* Use GITHUB_PATH
* Restore original GITHUB_ENV logic
* Use newer cache action
* Update ChangeLog
* Add comment about EXC_BAD_ACCESS
* Optional certificate install
* Improve log output
* Move team ID arg
* Change position of arg
* Set PATH in .zshrc and use bash command substitution
* Simplified macdeployqt find logic
* Formatting
* Minor tweaks to Qt cmake config
* Resolve framework path with install_name_tool
* Update ChangeLog
* 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
* 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
* 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
* 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 b9bbda2995bb0b4b65baf14afebb0361ec64e644.
* 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
* 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)
* 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
* 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