Skip to content

Container validation: no image reaches :latest untested, and the lecture matrix is a trustworthy signal #188

Description

@quantecon-services

Goal: no container image reaches :latest without being tested, and the weekly lecture-build matrix (test-containers-lectures.yml) is red only when something is really broken.

Where we stand (verified 2026-09-28)

Next: #141. #102 is closed: #203 fixed it on 2026-09-28 with a CI-side retry, and #144 was closed unmerged. #197 already gave lecture-python.myst a 180-minute limit and records each leg's runner CPU. What #141 still needs:

Plan

The work items and their order are the sub-issues below.

Sequencing rationale:

  1. test-containers-lectures: absorb transient raw-GitHub 429s when building lecture repos #102 is done: ci(lecture-validation): retry a failed HTML build once with --all; restore lecture-python-programming to the matrix #203 closed it on 2026-09-28.
  2. test-containers-lectures: lecture-python.myst doubled to the 120-minute ceiling #141 comes next, because a matrix that times out cannot tell a healthy image from a broken one.
  3. containers: no validation runs before the tag every consumer pins moves #142 is the larger change. Its own body says its phase 2 (main-<sha> tag, retag :latest on green) should follow the release-gate fixture work in The release gate needs its own fixture repo — the canary cannot be trusted as one #136. The Spike: settle the two gate-mechanism assumptions before building for them #143 spike may re-scope The release gate needs its own fixture repo — the canary cannot be trusted as one #136, so what phase 2 can reuse waits on the Spike: settle the two gate-mechanism assumptions before building for them #143 decision (see Next steps after the 2026-09-28 session: release gating (#138) and loose ends #212).

Related work

Out of scope

  • The bayes_nonconj.md failure itself: that fix belongs in lecture-python.myst.
  • Image content changes such as the Anaconda baseline and pins. Those follow the dependency policy in docs/dev/PLAN.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions