Skip to content

ci: use per-job sccache cache keys to avoid save conflicts#380

Merged
streamer45 merged 1 commit intomainfrom
devin/1777137036-sccache-per-job-keys
Apr 25, 2026
Merged

ci: use per-job sccache cache keys to avoid save conflicts#380
streamer45 merged 1 commit intomainfrom
devin/1777137036-sccache-per-job-keys

Conversation

@staging-devin-ai-integration
Copy link
Copy Markdown
Contributor

Summary

All hosted-runner jobs in the same workflow were sharing an identical sccache cache key (sccache-{os}-{hash}), so when multiple jobs finished around the same time, only the first save succeeded — the rest hit:

Failed to save: Unable to reserve cache with key sccache-Linux-..., another job may be creating this cache.

Each job now gets a unique key prefix matching its role:

Workflow Job Key prefix
skit.yml Lint sccache-skit-lint-
skit.yml Test sccache-skit-test-
skit.yml Build sccache-skit-build-
e2e.yml Pipeline Validation sccache-e2e-pipeline-
e2e.yml Playwright sccache-e2e-playwright-
release.yml Build sccache-release-
plugins.yml Lint sccache-plugins-lint-
marketplace-build.yml Build sccache-marketplace-

This also means each job's sccache cache is tailored to its specific compilation profile (e.g., clippy flags vs release mode), which should improve hit rates.

Review & Testing Checklist for Human

Notes

Follow-up to #376. The old sccache-Linux-* entries can be cleaned with gh cache delete --all.

Link to Devin session: https://staging.itsdev.in/sessions/cdf841e834eb419aa04168a565311f10
Requested by: @streamer45

Different jobs in the same workflow were using the same sccache cache key,
causing 'Unable to reserve cache' warnings when the second job tried to
save to an already-taken key.

Each job now gets a unique cache key prefix (e.g. sccache-skit-lint-,
sccache-skit-test-, sccache-skit-build-) so saves never collide and each
job's sccache cache is tailored to its specific compilation profile.

Signed-off-by: StreamKit Devin <devin@streamkit.dev>
Co-Authored-By: Claudio Costa <cstcld91@gmail.com>
@staging-devin-ai-integration
Copy link
Copy Markdown
Contributor Author

staging-devin-ai-integration Bot commented Apr 25, 2026

✅ Reviewed on e6f7627

View review

@staging-devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@streamer45 streamer45 enabled auto-merge (squash) April 25, 2026 17:14
Copy link
Copy Markdown
Contributor Author

@staging-devin-ai-integration staging-devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review (Staging)
Debug

Playground

@streamer45 streamer45 disabled auto-merge April 25, 2026 17:27
@streamer45 streamer45 merged commit 6918dad into main Apr 25, 2026
16 checks passed
@streamer45 streamer45 deleted the devin/1777137036-sccache-per-job-keys branch April 25, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants