Skip to content

actions/cache@v4 save fails: “Unable to extract blobName and containerName …” with github-actions-cache-server (sqlite/filesystem driver) #203

@paulharkink

Description

@paulharkink

Summary

actions/cache/save@v4 consistently fails with:

Warning: Failed to save: Unable to extract blobName and containerName with provided information.


Environment

  • Kubernetes (self‑hosted GitHub Actions runners via ARC runner scale set)
  • gha-runner-scale-set-controller chart: 0.13.1
  • gha-runner-scale-set chart: 0.13.1
  • Runner image: ghcr.io/falcondev-oss/actions-runner:2.331.0
  • Cache server chart: ghcr.io/falcondev-oss/charts/github-actions-cache-server:9.2.0
  • Cache server storage: filesystem + sqlite database on a PVC

Runner configuration

The runner pods are configured with:

env:
  - name: CUSTOM_ACTIONS_RESULTS_URL
    value: "http://gha-cache-server-github-actions-cache-server.arc-systems.svc.cluster.local/"

Per the chart documentation, the patched runner is expected to derive ACTIONS_RESULTS_URL internally from CUSTOM_ACTIONS_RESULTS_URL. I am intentionally not setting ACTIONS_RESULTS_URL or ACTIONS_CACHE_URL manually.


Reproduction workflow

Minimal workflow demonstrating the failure:

jobs:
  cache-test:
    runs-on: myCluster
    steps:
      - uses: actions/checkout@v4

      - name: Create file to cache
        run: |
          mkdir -p build/test
          date > build/test/hello.txt

      - uses: actions/cache/save@v4
        with:
          path: |
            build
          key: build-outputs-${{ github.run_id }}-${{ github.run_attempt }}

Logs (save step)

/usr/bin/tar --posix -cf cache.tgz --exclude cache.tgz -P -C ... --files-from manifest.txt -z
Warning: Failed to save: Unable to extract blobName and containerName with provided information.
Warning: Cache save failed.

Additional observations

  • When using gradle/actions/setup-gradle@v4, I sometimes see:

    ReserveCacheError: Unable to reserve cache with key ..., another job may be creating this cache.

  • However, inspecting the sqlite DB on the cache-server PVC shows no cache entries being recorded:

sqlite> select * from kysely_migration;
$0_init|2026-02-20T16:51:58.851Z
sqlite> select * from kysely_migration_lock;
migration_lock|0

No cache records appear to be written even though reserve attempts are reported in job logs.


Question

Is the above configuration expected to support actions/cache@v4 save operations?

Specifically:

  • Is CUSTOM_ACTIONS_RESULTS_URL alone sufficient configuration for this chart and runner image?
  • Are additional environment variables required for the cache v4 protocol?
  • Does this error indicate a mismatch with the newer cache protocol implementation used by actions/cache@v4?

Any guidance on the correct runner environment configuration for cache save support would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions