chore: enable build-specific documentation roots (#7455)
This PR enables the use of the build-time configuration of the Lean reference manual URL and updates the release checklist to account for the reference manual. This is a follow-up to #7240, after the required `stage0` update. The release process described here uses the same location for the reference manual for RCs and stable releases. This is for two reasons: 1. The only changes between them should be a modification of the embedded version string and updates to the final release's release notes, once those are included. 2. It ensures that a compatible manual is available at the moment that the new release appears, so any delay getting it deployed won't be visible to users.
This commit is contained in:
parent
169c541751
commit
9753d3ca4a
3 changed files with 14 additions and 5 deletions
|
|
@ -13,7 +13,8 @@ We'll use `v4.6.0` as the intended release version as a running example.
|
|||
- In `src/CMakeLists.txt`, verify you see
|
||||
- `set(LEAN_VERSION_MINOR 6)` (for whichever `6` is appropriate)
|
||||
- `set(LEAN_VERSION_IS_RELEASE 1)`
|
||||
- (both of these should already be in place from the release candidates)
|
||||
- (all of these should already be in place from the release candidates)
|
||||
|
||||
- `git tag v4.6.0`
|
||||
- `git push $REMOTE v4.6.0`, where `$REMOTE` is the upstream Lean repository (e.g., `origin`, `upstream`)
|
||||
- Now wait, while CI runs.
|
||||
|
|
@ -80,6 +81,11 @@ We'll use `v4.6.0` as the intended release version as a running example.
|
|||
- Toolchain bump PR including updated Lake manifest
|
||||
- Create and push the tag
|
||||
- There is no `stable` branch; skip this step
|
||||
- [Reference Manual](https://github.com/leanprover/reference-manual)
|
||||
- Dependencies: Verso
|
||||
- Toolchain bump PR including updated Lake manifest
|
||||
- Pushing the tag (whether for an RC or a final) triggers a deployment.
|
||||
- There is no `stable` branch; skip this step
|
||||
- [Cli](https://github.com/leanprover/lean4-cli)
|
||||
- No dependencies
|
||||
- Toolchain bump PR
|
||||
|
|
@ -169,6 +175,7 @@ We'll use `v4.7.0-rc1` as the intended release version in this example.
|
|||
- `git tag v4.7.0-rc1`
|
||||
- `git push origin v4.7.0-rc1`
|
||||
- Now wait, while CI runs.
|
||||
- The CI setup parses the tag to discover the `-rc1` special description, and passes it to `cmake` using a `-D` option. The `-rc1` doesn't need to be placed in the configuration file.
|
||||
- You can monitor this at `https://github.com/leanprover/lean4/actions/workflows/ci.yml`, looking for the `v4.7.0-rc1` tag.
|
||||
- This step can take up to an hour.
|
||||
- (GitHub release notes) Once the release appears at https://github.com/leanprover/lean4/releases/
|
||||
|
|
|
|||
|
|
@ -20,6 +20,11 @@ if (LEAN_SPECIAL_VERSION_DESC)
|
|||
elseif (NOT LEAN_VERSION_IS_RELEASE)
|
||||
string(APPEND LEAN_VERSION_STRING "-pre")
|
||||
endif()
|
||||
if (LEAN_VERSION_IS_RELEASE)
|
||||
set(LEAN_MANUAL_ROOT "https://lean-lang.org/doc/reference/${LEAN_VERSION_STRING}/")
|
||||
else()
|
||||
set(LEAN_MANUAL_ROOT "")
|
||||
endif()
|
||||
|
||||
set(LEAN_PLATFORM_TARGET "" CACHE STRING "LLVM triple of the target platform")
|
||||
if (NOT LEAN_PLATFORM_TARGET)
|
||||
|
|
|
|||
|
|
@ -11,11 +11,8 @@ set_option linter.missingDocs true
|
|||
|
||||
namespace Lean
|
||||
|
||||
/- After a stage0 update:
|
||||
@[extern "lean_get_manual_root"]
|
||||
@[extern "lean_manual_get_root"]
|
||||
private opaque getManualRoot : Unit → String
|
||||
-/
|
||||
private def getManualRoot : Unit → String := fun () => ""
|
||||
|
||||
private def fallbackManualRoot := "https://lean-lang.org/doc/reference/latest/"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue