feat: support revised nightly releases (nightly-YYYY-MM-DD-revK)#12461
Merged
feat: support revised nightly releases (nightly-YYYY-MM-DD-revK)#12461
nightly-YYYY-MM-DD-revK)#12461Conversation
This PR adds support for manually re-releasing nightlies when a build issue or critical fix requires it. When a `workflow_dispatch` triggers the nightly release job and a `nightly-YYYY-MM-DD` tag already exists, the CI now creates `nightly-YYYY-MM-DD-rev1` (then `-rev2`, etc.) instead of silently skipping. Changes: - Extend `ToolchainVer.nightly` with an optional `rev : Option Nat` field - Update `ToolchainVer.ofString` to parse `-revK` suffixes from nightly tags - Update `blt`/`ble` ordering: base < rev1 < rev2 < next day - Update CI "Set Nightly" step to probe existing tags on `workflow_dispatch` - Update changelog grep to match `-revK` suffixes - Update `lean-bisect` regex, sort key, and help text Companion PRs needed for mathlib4 workflows and documentation site. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bd5b016 to
138de7a
Compare
|
Mathlib CI status (docs):
|
Collaborator
|
Reference manual CI status:
|
mathlib-bors bot
pushed a commit
to leanprover-community/mathlib4
that referenced
this pull request
Feb 13, 2026
…35220) This PR updates nightly workflow scripts to handle revised nightly toolchains (`nightly-YYYY-MM-DD-revK`). When multiple nightlies are released for the same date, the revision suffix ensures correct ordering and matching in tag grep patterns, version extraction regexes, and deduplication checks. Changes: - `nightly_bump_and_merge.yml`: update tag grep pattern and use `sort -rV` for correct version ordering - `nightly_detect_failure.yml`: update JS/Python regexes and warning message to handle `-revK` suffix Companion to leanprover/lean4#12461 🤖 Prepared with Claude Code
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 13, 2026
This PR fixes two issues discovered during the first test of the revised nightly release workflow (#12461): **1. Date logic:** The `workflow_dispatch` path used `date -u +%F` (current UTC date) to find the base nightly to revise. If the most recent nightly was from yesterday (e.g. `nightly-2026-02-12`) but UTC has rolled over to Feb 13, the code would look for `nightly-2026-02-13`, not find it, and create a fresh nightly instead of a revision. Now finds the latest `nightly-*` tag via `sort -rV` and creates a revision of that. **2. Mathlib trigger:** The "Update toolchain on mathlib4's nightly-testing branch" step was broken in two ways: - Workflow renamed: `nightly_bump_toolchain.yml` → `nightly_bump_and_merge.yml` (leanprover-community/mathlib4#34827) - `MATHLIB4_BOT` PAT expired after mathlib migrated to GitHub Apps (leanprover-community/mathlib4#34751) - Replace with `actions/create-github-app-token` using the `mathlib-nightly-testing` app, matching the pattern used in mathlib4's own workflows. 🤖 Prepared with Claude Code Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
kim-em
added a commit
to kim-em/mathlib4
that referenced
this pull request
Feb 14, 2026
…eanprover-community#35220) This PR updates nightly workflow scripts to handle revised nightly toolchains (`nightly-YYYY-MM-DD-revK`). When multiple nightlies are released for the same date, the revision suffix ensures correct ordering and matching in tag grep patterns, version extraction regexes, and deduplication checks. Changes: - `nightly_bump_and_merge.yml`: update tag grep pattern and use `sort -rV` for correct version ordering - `nightly_detect_failure.yml`: update JS/Python regexes and warning message to handle `-revK` suffix Companion to leanprover/lean4#12461 🤖 Prepared with Claude Code
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.
This PR adds support for manually re-releasing nightlies when a build issue or critical fix requires it. When a
workflow_dispatchtriggers the nightly release job and anightly-YYYY-MM-DDtag already exists, the CI now createsnightly-YYYY-MM-DD-rev1(then-rev2, etc.) instead of silently skipping.Lake
ToolchainVerToolchainVer.nightlywith an optionalrev : Option Natfield-revKsuffixes from nightly tags inofStringnightly-YYYY-MM-DD<nightly-YYYY-MM-DD-rev1<-rev2<nightly-YYYY-MM-DD+1toString (ofString s) == sfor both variantsCI workflow
workflow_dispatchto find next available-revKnightly-[-0-9]*tonightly-[^ ,)]*to match-revKsuffixeslean-bisectNIGHTLY_PATTERNregex, sort key, error messages, and help textCompanion PRs
nightly_bump_and_merge.ymltag grep andnightly_detect_failure.ymlwarning messagetags_and_branches.mddocumentation🤖 Prepared with Claude Code