Skip to content

Dependencies

This project, like any software, stands on the shoulders of giants, and depends on external “third-party” software.

Updating Dependencies

./update.bash shows some of and where possible automatically updates these dependencies. It should be regularly (manually) run by maintainers of this project. Where possible, we automate this with “bots” such as:

Runtime Dependencies

Build-time (only) Dependencies

GitHub Action Cache

The .github/workflows/ci.yaml uses the https://github.com/actions/cache to speed up the Continuous Integration (CI) builds of PRs on GitHub.

It is normal and intentional that every time the files listed above are changed this cache is entirely invalidated, and thus a longer “full build” runs. PRs which do not change dependencies will still build noticeably faster.

If you are surprised and it seems to you that this cache does not work, because you noticed that the re-build of the main branch after the merge of a GitHub Pull Request (PR) which changed dependencies does not re-use the cache from the PR, this is also expected and not a bug.

It WILL work and speed up future PRs (provided there are no changes to dependencies again).

GitHub’s documentation explains why this is so; TL;DR: a PR build can use the cache from a main build, but a main build will not use a PR’s cache.

https://github.com/actions/cache/pull/575/files has some related discussion.