chore(ci): track quantecon/actions at the floating @v0 - #52
Merged
Merged
Conversation
All six call sites move from @v0.8.0 to @v0, the reference CONTRIBUTING recommends for consumers. The exact pins are why this repo sat three releases behind and, more to the point, why its weekly cache build had none of the failure alerting written for it. QuantEcon/actions#83 was filed because this repo's cache build failed for roughly two months with no issue filed; the fix shipped in v0.10.0 and the remaining gap in v0.11.0, and neither reached here because the pin never moved. A pin that has to be bumped by hand to deliver an alerting fix has the same failure mode as the missing alert. One behaviour change to be aware of, from v0.9.0: restore-jupyter-cache dropped its bare `build-` restore-key fallback, so the first build after an environment.yml change now rebuilds instead of silently restoring a _build produced by the old environment. That is the intended correction, and it costs one slower build per environment change. No config change is needed. cache.yml already grants `issues: write`, which v0.10.0 made a hard requirement when create-issue-on-failure is true. Supersedes the open Dependabot bump to 0.9.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s GitHub Actions workflows to consume quantecon/actions via the floating @v0 tag instead of a fixed @v0.8.0, aligning with the upstream recommendation and ensuring CI behavior fixes (notably failure alerting) reach this repo without manual pin bumps.
Changes:
- Switch
restore-jupyter-cache,build-lectures,build-jupyter-cache, andpublish-gh-pagesusages from@v0.8.0to@v0. - Apply the update consistently across CI, cache-building, and publish workflows.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/ci.yml | Updates restore/build lecture actions to quantecon/actions@v0 for PR builds. |
| .github/workflows/cache.yml | Updates the cache build workflow to use build-jupyter-cache@v0 (with issue-on-failure enabled). |
| .github/workflows/publish.yml | Updates restore/build/publish actions to quantecon/actions@v0 for tagged publishing. |
Suppressed comments (3)
.github/workflows/ci.yml:25
- Using a floating GitHub Action tag (
@v0) means this workflow can change without any PR in this repo (including potentially security-relevant changes or unexpected breaking behavior). GitHub generally recommends pinning third-party actions to a full commit SHA (or at least a specific release tag) to reduce supply-chain risk and improve reproducibility. Consider whether@v0is acceptable for this repo’s security/release posture, or whether you’d prefer pinning to a specificv0.x.y(or SHA) and relying on automated update PRs for upgrades.
uses: quantecon/actions/build-lectures@v0
.github/workflows/publish.yml:37
- Using a floating GitHub Action tag (
@v0) means this workflow can change without any PR in this repo (including potentially security-relevant changes or unexpected breaking behavior). GitHub generally recommends pinning third-party actions to a full commit SHA (or at least a specific release tag) to reduce supply-chain risk and improve reproducibility. Consider whether@v0is acceptable for this repo’s security/release posture, or whether you’d prefer pinning to a specificv0.x.y(or SHA) and relying on automated update PRs for upgrades.
uses: quantecon/actions/build-lectures@v0
.github/workflows/publish.yml:69
- Using a floating GitHub Action tag (
@v0) means this workflow can change without any PR in this repo (including potentially security-relevant changes or unexpected breaking behavior). GitHub generally recommends pinning third-party actions to a full commit SHA (or at least a specific release tag) to reduce supply-chain risk and improve reproducibility. Consider whether@v0is acceptable for this repo’s security/release posture, or whether you’d prefer pinning to a specificv0.x.y(or SHA) and relying on automated update PRs for upgrades.
uses: quantecon/actions/publish-gh-pages@v0
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves all six
quantecon/actionscall sites from@v0.8.0to the floating@v0, which is the reference CONTRIBUTING recommends for consumers.Why
This repo is the reason QuantEcon/actions#83 exists: its weekly cache build failed for roughly two months and filed no issue, because failure alerting had never worked in container mode. That was fixed in
v0.10.0, and the remaining gap — a run that aborts before the builds skipping every guard, including the alert — inv0.11.0, released today.Neither fix reached this repo, because the pin never moved. That is the argument for the change: a pin that must be bumped by hand in order to deliver an alerting fix has the same failure mode as the missing alert — nobody notices until something has already gone unreported for months. Three releases of drift accumulated here with no signal.
The usual counter-argument is that⚠️ BREAKING in the changelog with migration notes.
0.xminors may break. That risk is real but covered:test-actions-lecture-introruns the same full chain against@v0on the same weekly cadence, so it meets a bad release first, and breaking changes are markedWhat changes in behaviour
Bumping across
v0.9.0picks up one deliberate behaviour change:restore-jupyter-cachedropped its barebuild-restore-key fallback, which had made the build cache impossible to miss — anenvironment.ymlchange silently restored a_buildproduced by the old environment. The narrower fallbacks remain, so warm starts within one environment still hit. Cost here is one slower build after eachenvironment.ymlchange, which is the correct trade.From
v0.10.0, a job usingbuild-jupyter-cachewithcreate-issue-on-failure: truemust grantissues: writeor the job now fails loudly rather than silently skipping the alert.cache.ymlalready grants it, so no config change is needed in this PR.Verifying it worked
The next scheduled
Build Cacherun (Mondays 02:00 UTC) is the real check. If it fails for any reason, it should now open an issue in this repo rather than going quietly red — that is the whole point of the two fixes this bump collects.Supersedes
Dependabot PR #50 (
0.8.0→0.9.0) — stale on arrival, and unnecessary once the reference floats.🤖 Generated with Claude Code