Repository navigation
Conversation
The Checker Framework release scripts read the version of the current release from https://eisop.github.io/cf: release_build.py and release_push.py call current_distribution_by_website, which looks for "<!-- checker-framework-zip-version -->checker-framework-VERSION.zip" and raises ReleaseError if it is missing. The page that ships in newer release zips has that marker, but the pages generated from cf-template.md, including the live /cf/ page for 3.49.5-eisop1, do not. Write the download link of cf-template.md as an HTML anchor that carries the marker, as the shipped page does. kramdown passes the comment through unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Problem. The Checker Framework release scripts read the current release's version from the live site:
release_build.py(to suggest the next version) andrelease_push.py(Push Step 1) callrelease_utils.current_distribution_by_website("https://eisop.github.io/cf"), which searches for<!-- checker-framework-zip-version -->checker-framework-(.*)\.zipand raisesReleaseError("Didn't find zip version ...")if it is absent.docs/checker-framework-webpage.html, which newer release zips ship and the generator turns into the release page, has that marker. The pages generated fromcf-template.mddo not, and https://eisop.github.io/cf/ is currently such a page (3.49.5-eisop1 has no shipped page):curl -s https://eisop.github.io/cf/ | grep -c checker-framework-zip-versionprints 0. So the next release run fails at its first site lookup.Fix. Write the download link in
cf-template.mdas an HTML anchor containing the marker, the same markup as the shipped page.Applying it to the live page. The generator writes a release's page only when it first downloads that release, so merging this changes nothing on the live site by itself. Before the next release, either add the marker by hand to
cf/index.mdandcf/checker-framework-3.49.5-eisop1/index.mdongh-pages, or deletecf/checker-framework-3.49.5-eisop1.zipandcf/checker-framework-3.49.5-eisop1/there and run the publish workflow so that it regenerates them. (The first release whose zip ships the page makes this moot.)Testing. Rendered the substituted template with kramdown 2.5.2 (GFM input, as GitHub Pages uses): the output contains
<a href="/cf/checker-framework-3.49.5-eisop1.zip"><!-- checker-framework-zip-version -->checker-framework-3.49.5-eisop1.zip<!-- /checker-framework-zip-version --></a>, and the regex fromrelease_utils.pyextracts3.49.5-eisop1from it. Does not overlap with #112.