Skip to content

docs(release): add release process guide - #658

Open
MRmarioruci wants to merge 15 commits into
mainfrom
release-4-docs
Open

docs(release): add release process guide#658
MRmarioruci wants to merge 15 commits into
mainfrom
release-4-docs

Conversation

@MRmarioruci

@MRmarioruci MRmarioruci commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

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 -api crate is versus the canister that runs, and that dfx-orbit and orbit-cli are 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 projects field after that input became one checkbox per project.

@MRmarioruci
MRmarioruci requested a review from a team as a code owner September 1, 2026 12:51
@zeropath-ai

zeropath-ai Bot commented Sep 1, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 047fbd5.

Security Overview
Detected Code Changes
Change Type Relevant files
New file ► RELEASE.md
    Add Orbit release process documentation

@MRmarioruci MRmarioruci changed the title docs: add release process guide docs(release): add release process guide Sep 1, 2026
@MRmarioruci
MRmarioruci requested a lite review from Copilot September 1, 2026 13:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/production environments 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.

Comment thread RELEASE.md
Comment thread RELEASE.md Outdated
Comment thread RELEASE.md Outdated
Comment thread RELEASE.md Outdated
Comment thread RELEASE.md Outdated
@MRmarioruci

Copy link
Copy Markdown
Contributor Author

Done, and swept the whole stack rather than just this PR, since the same wording was in the workflow files too.

In RELEASE.md: the station row no longer says "Per-wallet backend", the frontend row describes the station UI rather than the wallet UI, "no per-wallet buffer ... every wallet" is now station, and the "wallet dapp bundle" phrasing is gone.

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 wallet-dapp project name and tag, the wallet checkbox on the deploy form, --app wallet, and the app_wallet key in canister_ids.json. Those are names rather than prose, so changing them is the rename PR (where wallet-dapp becomes station-frontend), not a wording fix. The doc now says that explicitly so it does not read as something we missed.

No literal wallet page with a token balance view appears in these files, so that exception did not come up.

Comment thread RELEASE.md Outdated
Comment thread RELEASE.md Outdated
Comment thread RELEASE.md Outdated

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use the new names consistently throughout.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread RELEASE.md

## Phase 1: cut a release

Actions tab, run the **Cut release** workflow. The form:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see this there yet, is that expected?

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes. You will only see it once the stack is merged

Base automatically changed from release-3-deploy-be to main September 4, 2026 13:28
MRmarioruci and others added 15 commits September 4, 2026 15:28
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants