35 Commits
Author SHA1 Message Date
Oliver Hamlet cfda074b2e Grant contents write permission to release jobs
Since I restricted the default GitHub Actions token to read-only permissions, this permission needs to be explicitly granted to allow the creation of a release and the upload of release assets.
2025-10-03 19:47:59 +01:00
Oliver Hamlet 24e3f99d9e Don't treat compiler warnings as errors by default
So that new warnings don't cause issues for library consumers.

Instead use CMake's CMAKE_COMPILE_WARNING_AS_ERROR option to treat them as errors in CI.
2025-10-03 17:39:11 +01:00
Oliver HamletandGitHub 6c951c648d Merge pull request #154 from loot/dependabot/github_actions/actions/checkout-5
Bump actions/checkout from 4 to 5
2025-10-02 08:03:50 +01:00
dependabot[bot]andGitHub a36be2a63e Bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 19:53:46 +00:00
dependabot[bot]andGitHub 493b0ef099 Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 19:53:43 +00:00
Oliver Hamlet d9179544c9 Verify the hash of downloaded Doxygen in CI 2025-10-01 20:31:07 +01:00
Oliver Hamlet 14410e5908 Pin third-party Action versions
The versions that are installed have not changed: the hashes correspond to the current values of the version tags that were previously used.
2025-10-01 20:08:50 +01:00
Oliver Hamlet dba3ba6902 Install cargo-vet using a Git commit hash
The hash doubles as a checksum of the code that's downloaded and built. Installing from crates.io doesn't provide equivalent functionality.
2025-10-01 20:06:00 +01:00
Oliver Hamlet f2b27e629f Pass ---locked to cargo install 2025-10-01 19:57:54 +01:00
Oliver Hamlet fc8ab80552 Add a CI job to run cargo vet 2025-09-29 21:25:10 +01:00
Oliver Hamlet 38e0f612d0 Cache NPM packages in CI 2025-08-26 17:37:33 +01:00
Oliver Hamlet d8787d3f33 Generate coverage report as a CI job
So that there's coverage data even if Coveralls is down.
2025-08-12 20:10:48 +01:00
Oliver Hamlet 745e341321 Allow Coveralls upload to fail
Coveralls is down more often than GitHub Actions, and it being down shouldn't fail the job.
2025-08-12 20:08:55 +01:00
Oliver Hamlet 6ca31dee8e Replace deprecated GitHub release actions 2025-08-11 22:09:26 +01:00
Oliver Hamlet d6b0244203 Publish to crates.io as part of the GitHub Actions release workflow 2025-08-03 12:50:08 +01:00
Oliver Hamlet 7acd54a9b7 Use --workspace instead of deprecated --all 2025-08-01 18:20:15 +01:00
Oliver Hamlet 5316df055e Update release description to require Windows 10
libloot hasn't been built or tested on Windows 7 as part of CI since 2018, and probably hasn't worked on Windows 7, 8 or 8.1 since at least May 2024, and developing for Windows 7 hasn't been practical for some time, so this isn't increasing the requirement so much as reflecting that it increased at some point in the past.
2025-07-22 19:56:21 +01:00
Oliver Hamlet 206e864bed Downgrade GitHub Actions runners to windows-2022
So that the builds run on a Windows 10 equivalent, helping test compatibility with it.
2025-07-22 19:56:21 +01:00
Oliver Hamlet 3e29f174e4 Don't run Windows CI builds for Node.js and Python wrappers
Their Windows builds take a combined ~ 19 minutes compared to the Linux builds taking ~ 3 minutes. Since the wrappers are experimental the Windows builds aren't adding much value.
2025-07-22 19:56:21 +01:00
Oliver Hamlet f4511b99bb Move cpp/docs to docs 2025-06-11 19:06:08 +01:00
Oliver Hamlet 02c853e050 Fetch full Git history in CI C++ build
So that "git describe" can find the last tag.
2025-06-08 20:26:08 +01:00
Oliver Hamlet cec464396d Update Breathe to v4.36.0
The new version of Breathe requires Doxygen v1.9.2+, so also upgrade
Doxygen in the Windows CI builds.
2025-05-16 23:28:00 +01:00
Oliver Hamlet 03ec3e91d5 Use uv to manage docs Python dependencies
It doesn't make much of a difference to performance in CI, as the docs
dependencies install time is dominated by getting Doxygen, but uv's use
of a lockfile does make builds more reliable.
2025-05-11 21:24:28 +01:00
Oliver Hamlet 557f859b40 Configure CPack to use all available threads
It speeds up packaging time by about 6 seconds on Linux, but doesn't
have any effect with the 7Z generator that's used on Windows.
2025-05-11 21:23:21 +01:00
Oliver Hamlet 05ea67f99f Split up CI build job
Splitting up the build job means that each of the build targets (tests
with coverage, C++ wrapper, Python wrapper, Node.js wrapper) don't need
to wait for the things they don't use, but it does:

- increase duplication within the job, as GitHub Actions doesn't support
  using YAML anchors
- increase the total build cache usage: together the jobs use 2450 MB vs
  1740 MB
2025-05-11 17:59:03 +01:00