The cache job failed on its first scheduled run, and not on what it was
written to test:
task failed in worker: action entrypoint "../dist/save-only/index.js"
must be a relative path without ..
actions/cache/save@v3 and restore@v3 live in subdirectories of the actions/cache repository and point at a shared bundle one level up. The guard
in worker/action_context.rs:10-16 rejects any .., so those two are
unusable here. #26 covers the guard.
The round trip now uses the top-level actions/cache@v3, which stays inside its
own directory and writes the cache in its post step. That makes it a two-job
test: one job populates the path and lets the post step save it, the next job
restores by the same key and checks both cache-hit and the file contents.
This keeps the job on the cache API — reserve, upload, lookup, download against
the runner's v1 implementation — which is what it was for.
The `cache` job failed on its first scheduled run, and not on what it was
written to test:
task failed in worker: action entrypoint "../dist/save-only/index.js"
must be a relative path without ..
`actions/cache/save@v3` and `restore@v3` live in subdirectories of the
`actions/cache` repository and point at a shared bundle one level up. The guard
in `worker/action_context.rs:10-16` rejects any `..`, so those two are
unusable here. #26 covers the guard.
The round trip now uses the top-level `actions/cache@v3`, which stays inside its
own directory and writes the cache in its post step. That makes it a two-job
test: one job populates the path and lets the post step save it, the next job
restores by the same key and checks both `cache-hit` and the file contents.
This keeps the job on the cache API — reserve, upload, lookup, download against
the runner's v1 implementation — which is what it was for.
The suite failed on the guard that rejects `..` in an action entrypoint, not
on the cache API it was written to exercise. The top-level action stays inside
its own directory and saves in its post step, so the round trip now spans two
jobs. #26 covers the guard itself.
day01
merged commit 64877adc9e into %!s()2026-08-04 06:44:30 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The
cachejob failed on its first scheduled run, and not on what it waswritten to test:
actions/cache/save@v3andrestore@v3live in subdirectories of theactions/cacherepository and point at a shared bundle one level up. The guardin
worker/action_context.rs:10-16rejects any.., so those two areunusable here. #26 covers the guard.
The round trip now uses the top-level
actions/cache@v3, which stays inside itsown directory and writes the cache in its post step. That makes it a two-job
test: one job populates the path and lets the post step save it, the next job
restores by the same key and checks both
cache-hitand the file contents.This keeps the job on the cache API — reserve, upload, lookup, download against
the runner's v1 implementation — which is what it was for.