You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ci): ETag+cache nightly check every 12h, document cache rule
- Rewrite update-mozilla-nightly.yml to HEAD-check ETags before
downloading; skip 100MB+ downloads if upstream hasn't changed
- Cache ETag files with actions/cache (split restore/save) so the
check is free on no-change runs
- Schedule every 12h instead of daily
- Document 'always use actions/cache' as rule 7 in skills/pipeline.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
printf 'chore(nightly): update Mozilla nightly sha256s\n\nAuto-refresh sha256 for firefox-nightly and thunderbird-nightly.\nMozilla rebuilds nightly at the same URL daily; version string stays\n150.0a1 so Renovate cannot track this.\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>\n' > /tmp/nightly-commit-msg.txt
78
-
git commit -F /tmp/nightly-commit-msg.txt
99
+
printf 'chore(nightly): update Mozilla nightly sha256s\n\nAuto-refresh sha256 for firefox-nightly and thunderbird-nightly.\nMozilla rebuilds nightly at the same URL; ETag changed so new build\nis available. Renovate cannot track this.\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>\n' > /tmp/commit-msg.txt
100
+
git commit -F /tmp/commit-msg.txt
79
101
git push origin "$BRANCH"
80
102
81
103
gh pr create \
82
104
--title "chore(nightly): update Mozilla nightly sha256s $(date -u +%Y-%m-%d)" \
83
-
--body "Auto-refresh sha256 for firefox-nightly and thunderbird-nightly. Mozilla rebuilds nightly at the same URL daily; version string stays 150.0a1 so Renovate cannot track this." \
105
+
--body "ETag-triggered sha256 refresh for firefox-nightly and/or thunderbird-nightly." \
Copy file name to clipboardExpand all lines: skills/pipeline.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -481,6 +481,8 @@ Simultaneous pushes create concurrent runs that fight for the same runners and w
481
481
482
482
6. **Concurrency group awareness.** `build.yml` has a `concurrency` group per app — a new push for the same app cancels an in-progress run. This is intentional for feature branches but undesirable for `main`. Avoid pushing rapidly in succession on main.
483
483
484
+
7. **Always use `actions/cache`.** Any workflow that downloads large files, computes hashes, or repeats expensive operations should cache intermediate results. Use ETags or content hashes as cache keys so the cache is only busted when upstream actually changes. Prefer `actions/cache/restore` + `actions/cache/save` (split) over the combined `actions/cache` so you can save even on failure (`if: always()`). Example pattern used in `update-mozilla-nightly.yml`: cache ETag files with key `<prefix>-${{ github.run_id }}` and `restore-keys: <prefix>-` so each run saves fresh ETags while always restoring the most recent prior run's values.
485
+
484
486
**Quick check command:**
485
487
```bash
486
488
gh run list --repo projectbluefin/testhub --workflow=build.yml --limit 5 \
0 commit comments