Commit d682ef0
authored
Enable vcpkg cache via vcpkg-cache-action (#584)
- a new GitHub Action is introduced to provide vcpkg binary caching via a custom
HTTP server that proxies to GitHub Actions cache
- the result is granular caching of vcpkg artifacts, dramatically reducing build
times
- the action is a typescript shim that invokes a Python script (this is so we
can register a post step)
- the shim is "built" via "npm build" and the resulting JavaScript is checked
into source control (best practice for GitHub Actions)
- the Python script is launched via pipx and uv (as uv itself is not installed
on the GitHub Actions runners)
- uv is invoked with the --locked option to ensure consistent dependency
resolution
- the bulk of the action is written in Python for cross-platform compatibility
and fast startup times without requiring a separate compilation step
- the Python script is responsible for both the main and post steps of the
action and sets the VCPKG_BINARY_SOURCES environment variable accordingly1 parent 959c99e commit d682ef0
File tree
13 files changed
+29549
-3
lines changed- .github
- actions/vcpkg-cache-action
- dist
- src
- workflows
13 files changed
+29549
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
0 commit comments