docs(release-process): fix wrong monorepo paths, invalid bash, and stale release-script flags - #2295
docs(release-process): fix wrong monorepo paths, invalid bash, and stale release-script flags#2295GigaHierz wants to merge 2 commits into
Conversation
…ale release-script flags Supersedes #2139, which was opened in February and has since diverged from main: merging it as-is would revert four fixes main has picked up (the `description` frontmatter, the pinned celo-monorepo setup link, the OpenZeppelin proxies link, and the anvil network option). This applies only the parts of #2139 that main still needs, on top of current main. Verified against celo-org/celo-monorepo: - `packages/what-is-celo/about-celo-l1/protocol/releaseData/` 404s — a bad find-and-replace from an old docs migration. The real path is `packages/protocol/releaseData/initializationData/`, which exists. - `.circleci/` 404s; the repo moved to GitHub Actions. `RELEASE_TAG` is defined at `.github/workflows/celo-monorepo.yml:32`. Bash that could not run: - `${N-1}` is parameter expansion with a default, not arithmetic — it evaluates to "N" whenever N is unset, so `PREVIOUS_RELEASE` came out as `core-contracts.vN`. Now `$((N-1))`. - `NETWORK=${"anvil"|"celo-sepolia"|"mainnet"}` is a syntax error. Now a real assignment with the options in a comment. - Six blocks used `$N`, `$PREVIOUS_RELEASE`, `$RELEASE_CANDIDATE` or `$PRIVATE_KEY` without defining them. Each block now stands alone (AGENTS.md section 5). The examples use N=18, the next release after the `core-contracts.v17` currently pinned in the workflow. Release script flags and outputs brought in line with the current implementation: `-r`/`-p` no longer name files that the scripts write themselves, `-k` is required by `release:make`, and the generated filenames (`report-*`, `*-libraries.json`, `proposal-*`) are stated where they are produced and used. Also drops the `export const N = "N"` Docusaurus leftover and three typos (Vaildator, valildator, EXCECUTED). Verified: `mintlify broken-links` reports no broken links. Co-Authored-By: martinvol <martinvol@users.noreply.github.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Most of this is right, and more of it is right than the body claims. You wrote that you could not verify the flag and filename semantics against the scripts, so I did: they are correct, including one subtlety I doubt was luck. What stops me approving is the layer underneath. The commands those flags hang off were deleted from celo-monorepo, so the page still cannot be followed end to end. The blocker: four dead script names
129 is the one that hides. The package.json key still exists, so a grep finds it, but For 180, yarn release:verify-deployed:foundry -p "upgrade_proposal.json" -b $RELEASE_CANDIDATE -n $NETWORK -f -i initialization_data.jsonRead that file before the next push. Its opening table is this exact mapping, and it would have caught all four. The page probably ought to link it, since it is the release owners' own doc. Stale prose mentions of the old names sit on 87, 98, 132, 170 and 185. What's right
The fix here is four script renames and a tag. No command needs reworking. Smaller thingsLine 56 still carries the wrong tag. You corrected the file path in that sentence and left On line 136, "(Use Line 156 is the one block that never got a preamble, and this PR is what broke it. Main had the literal Lines 144 and 145: Line 171 says "the proposal.json you fetched in the step prior", naming a file that now appears nowhere else on the page. The artifact fetched in that step is Line 69, the prerequisites callout, still says One nit: only the first block says The bodySix statements do not hold, and reviewers approve on the strength of the body:
Happy to push the renames myself if that is easier than another round. |
Supersedes #2139. Same intent, rebuilt on current main, with @martinvol credited as co-author.
Why not just merge #2139
That branch was cut in February and main has moved. Merging it as-is would revert four things main has since fixed:
description:frontmatterog:description:(#2239 already migrated it)045aa0061+.nvmrcSETUP.mdlinkdocs.openzeppelin.com/upgrades-plugins/1.x/proxies#...NETWORK=${"anvil"|"celo-sepolia"|"mainnet"}Its Baklava/Alfajores→Celo Sepolia edits are also already on main via #2175, and the release-timeline table on main is correct — the T+2w/T+3w duplication that appears when you rebase #2139 is an artifact of the stale base, not a real defect.
So this PR takes only the parts of #2139 that main still needs.
Verified against celo-org/celo-monorepo
packages/what-is-celo/about-celo-l1/protocol/releaseData/is a bad find-and-replace from an old docs migration — the docs path got substituted into a source-tree path.Bash that could not run
${N-1}is not arithmetic. It is parameter expansion with a default, so withNunset it evaluates to the literalNandPREVIOUS_RELEASEcame out ascore-contracts.vN. Now$((N-1)).NETWORK=${"anvil"|"celo-sepolia"|"mainnet"}is a syntax error, not a placeholder. Now a real assignment with the options in a trailing comment.$N,$PREVIOUS_RELEASE,$RELEASE_CANDIDATE,$PRIVATE_KEY. Only the first block on the page defined anything, so copying any later block failed. Each block now stands alone, per AGENTS.md section 5. Examples useN=18, the next release after thecore-contracts.v17currently pinned in the workflow.Script flags and generated filenames
-rand-pno longer name files the scripts write themselves;-kis required byrelease:make. The generated names (report-$PREVIOUS_RELEASE-$RELEASE_CANDIDATE.json,$NETWORK-$PREVIOUS_RELEASE-libraries.json,proposal-$NETWORK-$RELEASE_CANDIDATE.json) are now stated where they are produced and reused where they are consumed, including in thecelocli governance:proposecall.Also
export const N = "N"Docusaurus leftover removed, and three typos:Vaildator,valildator,EXCECUTED.Verification
I have not touched the flag/filename semantics beyond what #2139 asserted — those come from the release-script owner and I could not verify them against the scripts themselves, so they are worth a second pair of eyes from @martinvol.