ci: cache round-trip without the cache sub-actions #27

Merged
day01 merged %!d() commits from %!s() into %!s() 2026-08-04 06:44:30 +00:00
Owner

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.
day01 added 1 commit 2026-08-04 06:26:31 +00:00
		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
day01 deleted branch ci/cache-job-without-subactions 2026-08-04 06:44:30 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: syncode/runner#27