Repository navigation
1.1.0 re-cut: Read the Docs build, README tour, American spelling - #288
Merged
Merged
Conversation
…an spelling Read the Docs - Its builds of 1.1 ended with "Build terminated due to time out": executing the 51 gallery examples takes about 25 minutes and the limit is 15. scripts/publish_prebuilt_gallery.py publishes the gallery the release pipeline builds to the docs-gallery-v<version> branch (one orphan commit, replaced on republish), and docs/fetch_prebuilt_gallery.py, run from .readthedocs.yaml pre_build, puts it in docs/auto_examples. sphinx-gallery then skips every example whose source md5 is unchanged. Measured in a fresh clone with the Read the Docs recipe: 38 s, 0 warnings, output identical to the cold build apart from the two download zips and the execution-times page. - New release gate: the published manifest must name the release commit and the md5 of every example in the checkout. - A warning an example raises is printed on its gallery page with the example's repository path (examples/plot_impute.py:43), not the build machine's absolute path. The publisher refuses a gallery that names the checkout path. README - "What's new in 1.1" and "What's new in 1.0" become one short section that points at the changelog. - "A quick tour": the five launch clips as GIFs (images/tour_*.gif, 15-20 fps), each with a short description and a link to its tutorial. Spelling - American English in user-facing text: changelog, README, checklist, release notes, docs pages, docstrings, comments, messages, example scripts and tutorial text. Identifiers, quoted literals, vendored code and quoted source text are unchanged. docs/tutorials/io.ipynb and pipelines.ipynb were re-executed because a figure title or a printed line changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A symlink in the published gallery, or a page that includes a path outside auto_examples, would make the Read the Docs build copy a file from the build machine into the published site. The fetch step now rejects such a tree and lets sphinx execute the examples; the publisher applies the same check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…it id Fetching the gallery by branch name let whoever overwrites that branch decide what a docs build reads, and scanning the fetched pages for file-reading directives could not be made complete. The publisher now writes the gallery commit's id to docs/prebuilt_gallery.json, and the fetch step fetches exactly that commit and accepts only a full commit id recorded for the current version. A commit id is a hash of the content, so a build uses the tree its own checkout recorded or none. The page scanner is removed; the regular-files check stays. The release gate checks the record, the branch head, that only the record changed since the gallery was built, and the example md5s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The host serves commits other than the gallery branch's (another branch, a fork's pull request), so a record could have named one of those. The fetch step now also requires the recorded commit to be what docs-gallery-v<version> points at, and the gallery's manifest to name the record's version and source commit. The module docstring states what is not checked: the pages themselves, since whoever can change the record can change docs/conf.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d-off - test_project_version imported tomllib, which Python 3.10 does not have; it now compares against hypertools.__version__. The changed test files were run under Python 3.10. - scripts/rehearse_prebuilt_gallery.sh runs the publish, record, commit, fetch and Read the Docs recipe build against a local bare remote, then overwrites the branch and confirms the fetch refuses it. The checklist runs it before anything is published. - docs requirements: sphinx-gallery >= 0.22.1, the version Read the Docs installs, so the published gallery is built by the version that reads it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Built from 553c392; fetched by commit id in the Read the Docs build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The record commit landed after midnight, and the changelog gate requires the heading to be no earlier than the release commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Built from 3916376; fetched by commit id in the Read the Docs build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Follow-up to #286 for the 1.1.0 re-cut.
masterfast-forwards to this branch's head once CI is green here.What changed
docs-gallery-v<version>branch (scripts/publish_prebuilt_gallery.py) and records that commit's id indocs/prebuilt_gallery.json. The Read the Docs build fetches exactly that commit before Sphinx runs (docs/fetch_prebuilt_gallery.py), and sphinx-gallery skips every example whose source is unchanged. The fetch accepts only a full commit id recorded for the current version that the gallery branch still points at, so overwriting the branch cannot change what a build reads. A new release gate checks the record, andscripts/rehearse_prebuilt_gallery.shrehearses the whole hand-off against a local remote.release-gatejob installsnbformatandnbclient, which four tests in its gate file import (f746289, already onmaster).Verification at
cf76a931release-gateruns onmasterrelease-gatejob's own environmenttomllibimport, now removed🤖 Generated with Claude Code