You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One-line fbuild setup for consumer CI pipelines. Installs fbuild, wires `actions/cache@v4` with sensible defaults, and exports `FBUILD_CACHE_DIR` plus `ZCCACHE_DIR` so subsequent steps Just Work.
3
+
One-line fbuild setup for consumer CI pipelines. Installs fbuild, wires `actions/cache@v5` with sensible defaults, and exports `FBUILD_CACHE_DIR` plus `ZCCACHE_DIR` so subsequent steps Just Work.
4
4
5
5
For the underlying cache design (what's cached, why, and how to tune the key for your project) see [`../../docs/CI_CACHING.md`](../../../docs/CI_CACHING.md).
6
6
@@ -53,7 +53,7 @@ jobs:
53
53
54
54
## Caching the zccache store
55
55
56
-
The built-in `cache: true` wiring covers the fbuild package/tool cache rooted at `FBUILD_CACHE_DIR`. If you also want cross-run reuse of zccache's object store, add your own `actions/cache@v4` step for the resolved zccache directory and your project build outputs:
56
+
The built-in `cache: true` wiring covers the fbuild package/tool cache rooted at `FBUILD_CACHE_DIR`. If you also want cross-run reuse of zccache's object store, add your own `actions/cache@v5` step for the resolved zccache directory and your project build outputs:
57
57
58
58
```yaml
59
59
- name: Setup fbuild
@@ -63,7 +63,7 @@ The built-in `cache: true` wiring covers the fbuild package/tool cache rooted at
| `fbuild-hash` | sha256 prefix (16 hex chars) of the installed fbuild wheel's `RECORD` file. Baked into the cache key so any fbuild change, including a re-released wheel at the same version, invalidates stale cache artifacts. |
108
-
| `zccache-store-path` | Resolved zccache object-store directory. The same path is exported to later steps as `ZCCACHE_DIR`, so consumer-managed `actions/cache@v4` blocks can reuse it without guessing platform-specific defaults. |
108
+
| `zccache-store-path` | Resolved zccache object-store directory. The same path is exported to later steps as `ZCCACHE_DIR`, so consumer-managed `actions/cache@v5` blocks can reuse it without guessing platform-specific defaults. |
109
109
110
110
## What this action does
111
111
@@ -114,7 +114,7 @@ Use `steps.<id>.outputs.zccache-store-path` inside workflow expressions. The sam
114
114
3. Exports `FBUILD_CACHE_DIR` and `ZCCACHE_DIR` via `$GITHUB_ENV` so every later step inherits them, and exposes the zccache location as the `zccache-store-path` output.
115
115
4. Installs fbuild from PyPI at the requested version.
116
116
5. **Computes the installed fbuild's content hash** (sha256 of its dist-info `RECORD`) and bakes it into the cache key. This guarantees the cache is tied to the exact fbuild you're running, not just the PyPI version string, so `latest` is safe and a re-released wheel won't poison the cache.
117
-
6. Restores (and on job-end, saves) the fbuild cache via `actions/cache@v4`.
117
+
6. Restores (and on job-end, saves) the fbuild cache via `actions/cache@v5`.
118
118
119
119
### Why hash-pinning matters
120
120
@@ -128,7 +128,7 @@ Baking the wheel's `RECORD` hash into the key means:
128
128
129
129
It does **not** cache `~/.fbuild/*/daemon/` - that's ephemeral runtime state and restoring it across runs causes broken daemon discovery on the next client call. The action sidesteps the whole `~/.fbuild/` tree by redirecting fbuild's cache to `$RUNNER_TEMP/fbuild-cache` via `FBUILD_CACHE_DIR`.
130
130
131
-
It also does **not** automatically cache zccache's object store for you. That store lives at `ZCCACHE_DIR` / `zccache-store-path`, and consumers who want cross-run per-TU reuse should add their own `actions/cache@v4` step as shown above.
131
+
It also does **not** automatically cache zccache's object store for you. That store lives at `ZCCACHE_DIR` / `zccache-store-path`, and consumers who want cross-run per-TU reuse should add their own `actions/cache@v5` step as shown above.
132
132
133
133
## Version pinning
134
134
@@ -142,5 +142,5 @@ At time of writing there is no `v1` tag - use `@main` and pin `fbuild-version` t
142
142
143
143
## Related
144
144
145
-
- [`docs/CI_CACHING.md`](../../../docs/CI_CACHING.md) - detailed design of the underlying cache, plus raw `actions/cache@v4` snippets for consumers who prefer to avoid the action dependency.
145
+
- [`docs/CI_CACHING.md`](../../../docs/CI_CACHING.md) - detailed design of the underlying cache, plus raw `actions/cache@v5` snippets for consumers who prefer to avoid the action dependency.
146
146
- [#101](https://github.com/FastLED/fbuild/issues/101) - the issue that tracked creation of this action.
0 commit comments