Skip to content

Commit 8c6f32c

Browse files
authored
Merge pull request #88 from cardmagic/polecat/rust/sr-ama+mv1o1coo
docs: describe the PR and tag release flow
2 parents 8c9f0f9 + ee0f9aa commit 8c6f32c

1 file changed

Lines changed: 30 additions & 16 deletions

File tree

‎AGENTS.md‎

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,36 @@ fixes a defect, adjusts tooling, or edits prose does not need a roadmap edit.
4444

4545
## Release Workflow
4646

47-
Update the version, `CHANGELOG.md`, and `Gemfile.lock`; run `bundle exec rake`; then commit and push `main`. Publish by pushing an annotated version tag:
48-
49-
```bash
50-
git tag -a v0.5.0 -m "Version 0.5.0"
51-
git push origin v0.5.0
52-
```
53-
54-
CI validates the tag and publishes through RubyGems trusted publishing.
55-
56-
Before you tag, read `docs/virtual-actors.md` and `docs/agents.md` against the
57-
release and correct any requirement, compatibility, or guarantee statement that
58-
changed. After the tag publishes, refresh the solidobjects.dev documentation
59-
snapshot from the tag and redeploy the site; its `check:release` step refuses a
60-
snapshot that is not the latest published tag. The Context7 refresh workflow
61-
refreshes the index after each push to `main` that changes the documentation.
62-
Confirm that its run succeeded.
47+
A release goes through a pull request and then a version tag. Do not push a
48+
release commit directly to `main`.
49+
50+
1. In a pull request, add a commit with the subject
51+
`chore: prepare version X.Y.Z`. The commit updates
52+
`lib/solid_objects/version.rb`, the `CHANGELOG.md` section for the version,
53+
and `Gemfile.lock`.
54+
2. Read `docs/virtual-actors.md` and `docs/agents.md` against the release.
55+
Correct each requirement, compatibility, or guarantee statement that changed.
56+
3. Run `bundle exec rake` before you push.
57+
4. Get a Greptile 5/5 summary on the head commit, green CI, and the approval of
58+
the maintainer. Then merge the pull request with a merge commit.
59+
5. Tag the merge commit on `main` and push the tag:
60+
61+
```bash
62+
git tag -a vX.Y.Z -m "Version X.Y.Z"
63+
git push origin vX.Y.Z
64+
```
65+
66+
CI validates the tag and publishes through RubyGems trusted publishing.
67+
6. After the gem is on RubyGems, update and deploy solidobjects.dev with the
68+
workspace `solid-objects-tag-to-prod` skill. Refresh the documentation
69+
snapshot from the tag. The `check:release` step of the site refuses a
70+
snapshot that is not the latest published tag.
71+
72+
Before 1.0, a feature or a behavior change gets a minor version, and a fix gets
73+
a patch version.
74+
75+
The Context7 refresh workflow refreshes the index after each push to `main` that
76+
changes the documentation. Confirm that its run succeeded.
6377

6478
## Security & Configuration
6579

0 commit comments

Comments
 (0)