ADR Suggestion Unified Release Workflow with Explicit Human Approval
#54
AndrewSazonov
started this conversation in
Ideas
Replies: 1 comment
-
|
Makes sense. I approve. My only question is, where is our (yet to exist) workflow which inspects the [scope] labels and adjust the version appropriately? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The goal of this ADR is to define a common and consistent release workflow for all products developed under the EasyScience organization.
The main idea is to keep the process largely automated, but split it into several clear steps with intentional human approval points. This gives us both safety and consistency: automation handles repetitive tasks, while developers stay in control of important decisions.
The overall branching model (
feature → develop → master) is described in ADR #12.The steps below describe what happens once the
developbranch is ready for a new release.Proposed release workflow
1. 👤 Human: Create release PR (develop → master)
A pull request from
developtomasteris created to start the release process.This can be done:
This step is an intentional human action.
2. 🤖 Auto: CI checks on the release PR
Creating the PR automatically triggers a full set of CI workflows, including:
pyproject.tomlandprettierrc.tomlconfigs:devdocs URL (for example:https://easyscience.github.io/peasy-lib/dev)3. 👤 Human: Review and merge PR
When all CI checks are green, a maintainer explicitly reviews and merges the PR using the GitHub web interface.
This is another intentional human approval step.
4. 🤖 Auto: Prepare release draft
Merging into
masterautomatically triggers workflows that:master(viadevelopor directly)5. 👤 Human: Review and publish release
A maintainer opens the release draft on the GitHub Releases page and:
Again, this step requires explicit human approval.
6. 🤖 Auto: Post-release actions
Publishing the release automatically triggers:
https://easyscience.github.io/peasy-lib/v1.2.0masterback todevelop, as described in `ADR Suggestion` Automated backmerge from `master` to `develop` on release tags #44Summary
The full release process is automated between approval points, but still requires humans to:
Beta Was this translation helpful? Give feedback.
All reactions