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
The evidence is kept. The canary runs are 36378684976 (push), 36378695414 (dispatch) and 36378719592 (pull_request). Their evidence artifacts are kept for 90 days.
Next steps
In dependency order. Steps 4 and 5 can happen at any time.
How previews get tested outside a PR: an opt-in input in the preview actions, or a gate that opens a PR.
Which candidate commits the gate accepts. The suggestion is main and v* tags only. Also decide whether the gate's secrets live in an environment only main can use.
Build conditions: a committed image digest or :latest resolved once per run; cold or warm builds; intersphinx on or off.
Whether the gate covers publish-gh-pages. Doing so would overwrite the canary's Pages site.
Hand-off from the 2026-09-28 session, so the work can be picked up again. Close this once every item below is done or has moved into its own issue.
Where things stand
uses: ./actions-repo/<action>inside a container job.pull_request, both preview actions pass without deploying, and nothing in the log says so.uses:lines lets a gate testbuild-jupyter-cache's internal calls at the candidate, which the plannedv0-nexttag could not.docs/dev/PLAN.mditems 0a–0c now record the result. The decisions are still open..github/workflows/spike-143.ymland.github/spike-143/are in the commits of [spike QuantEcon/actions#143, DO NOT MERGE] local uses: in a container job test-actions-lecture-intro#69. That PR is closed and its branch deleted. The workflow is a starting point for agate.yml.Next steps
In dependency order. Steps 4 and 5 can happen at any time.
1. Decide #143
These are the questions left open in the findings comment:
gate.ymlin the canary, or a new fixture repo (The release gate needs its own fixture repo — the canary cannot be trusted as one #136).v*tags only. Also decide whether the gate's secrets live in an environment only main can use.:latestresolved once per run; cold or warm builds; intersphinx on or off.publish-gh-pages. Doing so would overwrite the canary's Pages site.Then:
v0-next?2. Fix the preview actions (no issue yet)
This is needed if step 1 picks the opt-in input. It is also needed before a scheduled canary
ci.yml(PLAN 0c) can test anything. The suggested design:dispatch-alias, limited to a reserveddispatch-prefix so it can never hitpr-Nor Cloudflare production.workflow_dispatch,schedule), never a deny-list. Thepull_requestliteral is what keepspull_request_targetout (fix(preview): surface deploy errors, pin CLIs, remove unsafe fork guidance #105).deployedoutput, and a::notice::whenever nothing is deployed. Callers checkdeployed == 'true'.The release that ships this changes every consumer's PR path. Test it by hand with a real canary PR first (CONTRIBUTING.md, Staged Releases).
3. Build the gate and prove it (PLAN 0b–0d)
gate.yml: aworkflow_dispatchinput for the candidate SHA, checked against main andv*tags before any secret is used.build-jupyter-cachebuilders, cold builds, and no network reads.publish.ymlaworkflow_dispatchtrigger and remove its tag-only jobif:. Scheduleci.ymlonce step 2 has shipped.v0move, and a red gate must reach a person.4. The next release
[Unreleased]changes whatbuild-lectures(feat(build-lectures): print failed notebooks' tracebacks in the failure report #198) andsetup-environment(fix(setup-environment): bumping cache-version builds a fresh Conda environment (#205) #206) do. So the next release needs the manual canary check whether or not the gate exists yet.5. The canary's README (QuantEcon/test-actions-lecture-intro)
@v0and:latestreasons are per workflow, not per repo.Loose ends
PLAN.md's test-containers-lectures: absorb transient raw-GitHub 429s when building lecture repos #102 row said "Review ci(lecture-validation): retry a failed HTML build once with --all; restore lecture-python-programming to the matrix #203" and called Retry transient lecture HTML build failures #144 open; both are closed. Fixed by docs(plan): record #102 as closed by #203, and the run that exercised it #214, merged on 2026-09-28.lecture-python-programmingincluded.lecture-python.mystlegs failed the retry, onbayes_nonconjonly.bayes_nonconj(numpyro 0.22).Notes for a Claude session picking this up
*.blob.core.windows.net). Read job logs through the API instead.