From 43b903c1c8819f1f7fca39c7a1c59d6c2b065489 Mon Sep 17 00:00:00 2001 From: James Griffin Date: Thu, 20 Aug 2026 15:07:18 -0300 Subject: [PATCH] Revert the v4 cache retry: the gate stays shut, so it is the runner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tested and the hypothesis is dead. actions/cache@v4 resolved properly (SHA 0057852) and printed the same GHES warning as v3, so the action version was not what was closing the gate. That points at the runner rather than the action. Gitea's docs say the runner patches the GHES check out of the action's bundle only when it recognises it, and that a bundle it does not recognise "is left alone". No patching for either v3 or v4, and no ACTIONS_CACHE_URL to patch it towards, is what you get when cache is simply off in the runner config. So the fix is cache.enabled in act_runner's config.yaml, with host set to an address job containers can reach. Nothing in this repository unblocks it, and inert steps are what let the Composer cache rot unnoticed, so the experiment comes out again. Both halves — the apt cache and the move to v4 — should land together once the runner serves a cache. Refs #178. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Uw545F1vveNJKjzLxdi2ks --- .gitea/workflows/ci.yml | 91 +---------------------------------------- 1 file changed, 2 insertions(+), 89 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index cf2a660..815f95d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -19,35 +19,6 @@ jobs: steps: - uses: actions/checkout@v4 - # setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70 - # -dev packages before unpacking the build (#178). Ubuntu's own image - # deletes the .debs after install, so every job re-downloads them from - # the archive. Keep them and restore them from the cache server, which - # lives in the cluster, turning a WAN download into a local one. - # - # The dep list is the same for every PHP version on the builder path, so - # one shared key serves them all. Only the .debs are cached, never - # /var/lib/apt/lists — a stale index is how you get 404s on install. - - name: Keep downloaded .debs - run: | - sudo rm -f /etc/apt/apt.conf.d/docker-clean - echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \ - | sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null - - - name: Cache apt packages - uses: actions/cache@v4 - with: - path: /var/cache/apt/archives/*.deb - key: apt-php-builder-deps-${{ runner.arch }}-v1 - - # Temporary, for #178: shows whether the cache actually served the - # builder's dependencies, and times the step that consumes them. - - name: Report restored .debs - run: | - echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)" - echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)" - date -u +'setup-php start: %H:%M:%S' - - name: Setup PHP uses: shivammathur/setup-php@v2 with: @@ -55,7 +26,7 @@ jobs: tools: composer:v2 - name: Cache Composer packages - uses: actions/cache@v4 + uses: actions/cache@v3 with: path: ~/.composer/cache key: composer-${{ hashFiles('composer.json') }} @@ -83,35 +54,6 @@ jobs: steps: - uses: actions/checkout@v4 - # setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70 - # -dev packages before unpacking the build (#178). Ubuntu's own image - # deletes the .debs after install, so every job re-downloads them from - # the archive. Keep them and restore them from the cache server, which - # lives in the cluster, turning a WAN download into a local one. - # - # The dep list is the same for every PHP version on the builder path, so - # one shared key serves them all. Only the .debs are cached, never - # /var/lib/apt/lists — a stale index is how you get 404s on install. - - name: Keep downloaded .debs - run: | - sudo rm -f /etc/apt/apt.conf.d/docker-clean - echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \ - | sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null - - - name: Cache apt packages - uses: actions/cache@v4 - with: - path: /var/cache/apt/archives/*.deb - key: apt-php-builder-deps-${{ runner.arch }}-v1 - - # Temporary, for #178: shows whether the cache actually served the - # builder's dependencies, and times the step that consumes them. - - name: Report restored .debs - run: | - echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)" - echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)" - date -u +'setup-php start: %H:%M:%S' - - name: Setup PHP uses: shivammathur/setup-php@v2 with: @@ -121,7 +63,7 @@ jobs: tools: composer:v2 - name: Cache Composer packages - uses: actions/cache@v4 + uses: actions/cache@v3 with: path: ~/.composer/cache key: ${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} @@ -155,35 +97,6 @@ jobs: steps: - uses: actions/checkout@v4 - # setup-php installs PHP 8.3+ through php-builder, which apt-installs ~70 - # -dev packages before unpacking the build (#178). Ubuntu's own image - # deletes the .debs after install, so every job re-downloads them from - # the archive. Keep them and restore them from the cache server, which - # lives in the cluster, turning a WAN download into a local one. - # - # The dep list is the same for every PHP version on the builder path, so - # one shared key serves them all. Only the .debs are cached, never - # /var/lib/apt/lists — a stale index is how you get 404s on install. - - name: Keep downloaded .debs - run: | - sudo rm -f /etc/apt/apt.conf.d/docker-clean - echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \ - | sudo tee /etc/apt/apt.conf.d/99keep-downloaded-packages >/dev/null - - - name: Cache apt packages - uses: actions/cache@v4 - with: - path: /var/cache/apt/archives/*.deb - key: apt-php-builder-deps-${{ runner.arch }}-v1 - - # Temporary, for #178: shows whether the cache actually served the - # builder's dependencies, and times the step that consumes them. - - name: Report restored .debs - run: | - echo "restored .debs: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)" - echo "restored size: $(du -sh /var/cache/apt/archives 2>/dev/null | cut -f1)" - date -u +'setup-php start: %H:%M:%S' - - name: Setup PHP uses: shivammathur/setup-php@v2 with: