docs(release): add release process guide - #658
Conversation
|
✅ No security or compliance issues detected. Reviewed everything up to 047fbd5. Security Overview
Detected Code Changes
|
e798d11 to
7ba5533
Compare
There was a problem hiding this comment.
Pull request overview
Adds an operator-facing RELEASE.md guide documenting the Orbit release workflow stack (cut → publish → deploy) and the one-time environment/secret setup needed to run the new GitHub Actions-based release process introduced in earlier stacked PRs.
Changes:
- Introduces a release-process operator guide covering components, release phases, and GitHub Environments approval gating.
- Documents one-time setup for
playground/productionenvironments and required secrets/reviewers. - Proposes a release cadence suggestion for ongoing operations.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
7ba5533 to
fe218e4
Compare
fe218e4 to
40f14f3
Compare
40f14f3 to
f6fe48f
Compare
f6fe48f to
b90c2eb
Compare
b90c2eb to
43f07ea
Compare
43f07ea to
3193846
Compare
635d18c to
5462cf6
Compare
5462cf6 to
bef5297
Compare
6c3efb0 to
a02282e
Compare
|
Done, and swept the whole stack rather than just this PR, since the same wording was in the workflow files too. In Upstream, because these render in the Actions form and read worse than the doc did: #655 'Release wallet-dapp (wallet app)' is now '(the station frontend)', #656 'Deploy the wallet app' is now 'Deploy the station frontend' plus a comment, and #657 loses "per-wallet buffer" and "every wallet". What still says wallet is only the literal identifiers: the No literal wallet page with a token balance view appears in these files, so that exception did not come up. |
|
|
||
| Actions tab, run the **Cut release** workflow. The form: | ||
|
|
||
| * **one checkbox per project**: tick `wallet-dapp`, `station`, and so on. Tick nothing and it releases everything that changed since the last release, which nx works out from the commits. This is where you pick the whole batch or a subset. |
There was a problem hiding this comment.
| * **one checkbox per project**: tick `wallet-dapp`, `station`, and so on. Tick nothing and it releases everything that changed since the last release, which nx works out from the commits. This is where you pick the whole batch or a subset. | |
| * **one checkbox per project**: tick `station-frontend`, `station`, and so on. Tick nothing and it releases everything that changed since the last release, which nx works out from the commits. This is where you pick the whole batch or a subset. |
There was a problem hiding this comment.
Let's use the new names consistently throughout.
There was a problem hiding this comment.
Well this refers to the checkbox that the user will see and I dont want to change those. Cause it's the project id. If i change it on the checkbox/workflow this means I need to change the project ids etc which is more work and will result in more confusion on the releases page (historical releases + new ones). I can do it.. I am not sure if this is worth it or not at least for now.
|
|
||
| ## Phase 1: cut a release | ||
|
|
||
| Actions tab, run the **Cut release** workflow. The form: |
There was a problem hiding this comment.
yes. You will only see it once the stack is merged
Operator README for the whole release: the component reference, what to click to cut a release, how publish and deploy work, the approval gate, and the one-time environment setup.
This repo is public, so the guide no longer names credential secrets or describes where signing keys are kept. It points at the workflows for the required names instead.
Playground stays a workflow. Production is a script run from a machine that can read the key, so the production credential never becomes a repo secret. Also fixes the Phase 1 section, which still described a comma-separated projects field after that input became checkboxes.
The table proposed renaming dfx-orbit to orbit-cli while the text below explained orbit-cli is a different, internal tool, so the doc contradicted itself. Say plainly that this rename requires renaming the internal tool too, unlike every other row. Also cover the prerelease bump modes and name the per-environment secrets in the setup list.
Co-authored-by: Arshavir Ter-Gabrielyan <arshavir.ter.gabrielyan@dfinity.org>
Co-authored-by: Arshavir Ter-Gabrielyan <arshavir.ter.gabrielyan@dfinity.org>
Only the wallet does. Also clarify that the one-time setup is GitHub Actions plumbing, not standing up a playground, which already exists.
The identity that deploys today controls the production canisters as well as the playground ones, so putting it on the playground environment would hand CI production access.
Per Arshavir's review. Identifiers keep the wallet name since they are literal tags, inputs and canister_ids.json keys; the doc now says so.
Cut the line narrating the document, replace the two scene-setting lead-ins, and give the reason for deploying production by hand instead of labelling it blast radius. Split the sentence that carried the confirmation prompt, the checksum check and the stale-checkout guard into separate claims. Say that the rename and the production key are undecided and unset rather than gesturing at it.
They keep the old name for historical reasons, not because wallet is the right word. Give the actual cost: renaming splits the release tag series, so the scripts resolving latest would have to know both names.
Co-authored-by: Arshavir Ter-Gabrielyan <arshavir.ter.gabrielyan@dfinity.org>
Per Arshavir's review. The internal tool moves out of the way, which frees orbit-cli for the CLI users install, so the dfx-orbit row is a straight rename like the others. The internal tool now has its own row, since the doc refers to it and it was not listed anywhere.
…-dapp Per Arshavir's review. Backticked names are the current ones so they match the repo and the workflow forms, and the table maps them to the proposed names. The Phase 1 bullet points at the table rather than naming a project that the rename will change, and the deploy section says the form still calls the station frontend wallet.
c1b9402 to
047fbd5
Compare

Adds
RELEASE.md, an operator guide to the release process.It opens with the component table, since that is where the confusion lives: what each project is, which pieces are singletons and which are per-org pairs, what an
-apicrate is versus the canister that runs, and thatdfx-orbitandorbit-cliare different tools. Each row carries the current name beside a proposed one, so a rename can be discussed separately from this change.Then the three phases: which boxes to tick to cut a release, how publish fires on merge with nothing to click, and how deploy splits into playground workflows and production commands, with the reason for that split and the exact commands. It ends with the one-time environment setup, including why the identity that deploys today must not be reused for CI.
Also corrects the Phase 1 section, which described a comma-separated
projectsfield after that input became one checkbox per project.