diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 904662e..46db216 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -24,22 +24,17 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Cache pip wheels - # continue-on-error: act_runner's cache backend has been broken on - # this homelab setup since 2026-05-15 — bolt.db + cache/ dir exist - # but the action's JS bundle now fails to load at all - # ("Cannot find module .../dist/restore/index.js"), hard-failing - # the whole job. The install step that follows handles cold caches - # natively (uv pip / pip install both work without it), so net - # cost of disabling the cache here is ~30s of wheel downloads per - # job. Re-enable once the runner-side cache backend is fixed. - continue-on-error: true - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: pip-${{ runner.os }}-py314-${{ hashFiles('requirements.txt') }} - restore-keys: | - pip-${{ runner.os }}-py314- + # Cache step removed 2026-05-26: act_runner's cache backend has been + # broken on this homelab runner since 2026-05-15 (first as request- + # timeout warnings, then as hard "Cannot find module .../dist/restore/ + # index.js" failures that tank the whole job). The cache step targeted + # ~/.cache/pip but the install below uses `uv pip install` primarily, + # whose own cache lives at ~/.cache/uv — so the cache step's real + # benefit was marginal even when working. Cost of removal: ~30s of + # wheel downloads per job. Future re-enable: mount ~/.cache/uv as a + # docker volume at the runner level (skips actions/cache entirely), + # or fix the runner-side cache backend (clear /var/run/act/actions/*, + # pin act_runner version, etc.). - name: Install Python deps # ruff is pre-installed in the ci-python image (see CI-Runner/CI-python/ @@ -133,22 +128,6 @@ jobs: --health-retries 10 steps: - uses: actions/checkout@v4 - - name: Cache pip wheels - # continue-on-error: act_runner's cache backend has been broken on - # this homelab setup since 2026-05-15 — bolt.db + cache/ dir exist - # but the action's JS bundle now fails to load at all - # ("Cannot find module .../dist/restore/index.js"), hard-failing - # the whole job. The install step that follows handles cold caches - # natively (uv pip / pip install both work without it), so net - # cost of disabling the cache here is ~30s of wheel downloads per - # job. Re-enable once the runner-side cache backend is fixed. - continue-on-error: true - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: pip-${{ runner.os }}-py314-${{ hashFiles('requirements.txt') }} - restore-keys: | - pip-${{ runner.os }}-py314- - name: API integration shard (resolve service IPs, migrate, test) run: | set -eux @@ -207,22 +186,6 @@ jobs: --health-retries 10 steps: - uses: actions/checkout@v4 - - name: Cache pip wheels - # continue-on-error: act_runner's cache backend has been broken on - # this homelab setup since 2026-05-15 — bolt.db + cache/ dir exist - # but the action's JS bundle now fails to load at all - # ("Cannot find module .../dist/restore/index.js"), hard-failing - # the whole job. The install step that follows handles cold caches - # natively (uv pip / pip install both work without it), so net - # cost of disabling the cache here is ~30s of wheel downloads per - # job. Re-enable once the runner-side cache backend is fixed. - continue-on-error: true - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: pip-${{ runner.os }}-py314-${{ hashFiles('requirements.txt') }} - restore-keys: | - pip-${{ runner.os }}-py314- - name: Importer integration shard (resolve service IPs, migrate, test) run: | set -eux @@ -281,22 +244,6 @@ jobs: --health-retries 10 steps: - uses: actions/checkout@v4 - - name: Cache pip wheels - # continue-on-error: act_runner's cache backend has been broken on - # this homelab setup since 2026-05-15 — bolt.db + cache/ dir exist - # but the action's JS bundle now fails to load at all - # ("Cannot find module .../dist/restore/index.js"), hard-failing - # the whole job. The install step that follows handles cold caches - # natively (uv pip / pip install both work without it), so net - # cost of disabling the cache here is ~30s of wheel downloads per - # job. Re-enable once the runner-side cache backend is fixed. - continue-on-error: true - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: pip-${{ runner.os }}-py314-${{ hashFiles('requirements.txt') }} - restore-keys: | - pip-${{ runner.os }}-py314- - name: Core integration shard (everything not api / importer / migration / phash / sidecar / scan / archive / backfill) run: | set -eux