Skip to content

Commit b8c008f

Browse files
committed
CI: address Skoll review (reseed coverage, ghcr owner, restore key)
- os-check.yml linux shard: add a schedule-gated CCACHE_RECACHE=1 step so the weekday seed reseeds from clean compiles rather than only accumulating deltas. This shard manages ccache directly (its own restore/save) and so was not covered by the ccache-setup composite's reseed. - install-apt-deps: hardcode the ghcr bundle owner to wolfssl. The bundle is only published under ghcr.io/wolfssl by ci-deps-image, so fork PRs now read the public upstream image instead of a nonexistent ghcr.io/<fork>/wolfssl-ci-debs. - ccache-setup: document that the read-only restore key reuses the save key shape for symmetry and is never an exact hit by design. Skoll F3 (a packages-subset-of-bundle CI guard) is deferred to a follow-up; F4 (release-branch ccache saves) is left as the intended seed-on-schedule / everything-else-reads model.
1 parent 80a3e67 commit b8c008f

3 files changed

Lines changed: 15 additions & 2 deletions

File tree

.github/actions/ccache-setup/action.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ runs:
7272
uses: actions/cache/restore@v4
7373
with:
7474
path: ~/.ccache
75+
# Same key shape as the save branch, for symmetry. This branch never
76+
# saves, so the run_id/run_attempt primary key is never an exact hit -
77+
# the restore-keys below always supply the most recent seeded cache.
7578
key: ccache-${{ inputs.workflow-id }}-${{ runner.os }}-${{ runner.arch }}-${{ inputs.config-hash }}-${{ github.run_id }}-${{ github.run_attempt }}
7679
restore-keys: |
7780
ccache-${{ inputs.workflow-id }}-${{ runner.os }}-${{ runner.arch }}-${{ inputs.config-hash }}-

.github/actions/install-apt-deps/action.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,11 @@ runs:
4949
run: |
5050
set -u
5151
command -v docker >/dev/null 2>&1 || { echo "::notice::docker unavailable; using apt"; exit 0; }
52-
OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
53-
IMG="ghcr.io/$OWNER/wolfssl-ci-debs:${{ inputs.ghcr-debs-tag }}"
52+
# Hardcode the upstream owner: the bundle is only ever published under
53+
# ghcr.io/wolfssl by ci-deps-image (gated to the wolfssl org), so fork
54+
# PRs read the public upstream image too rather than a nonexistent
55+
# ghcr.io/<fork>/wolfssl-ci-debs.
56+
IMG="ghcr.io/wolfssl/wolfssl-ci-debs:${{ inputs.ghcr-debs-tag }}"
5457
if ! docker pull -q "$IMG" >/dev/null 2>&1; then
5558
echo "::notice::ghcr bundle $IMG unavailable; using apt"
5659
exit 0

.github/workflows/os-check.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,13 @@ jobs:
105105
os-check-linux-ccache-${{ matrix.shard }}-
106106
os-check-linux-ccache-
107107
108+
# On the weekday seed, force clean recompiles (CCACHE_RECACHE) so the
109+
# saved master ccache is reseeded from scratch rather than only
110+
# accumulating deltas. PR/push runs leave it unset and keep their warm hits.
111+
- name: Force fresh compiles on scheduled reseed
112+
if: github.event_name == 'schedule'
113+
run: echo "CCACHE_RECACHE=1" >> "$GITHUB_ENV"
114+
108115
- name: autogen
109116
run: |
110117
ccache -z

0 commit comments

Comments
 (0)