Skip to content

Commit 27a68d2

Browse files
committed
docs: document the release procedure, including the GitHub Release step
1 parent 5f7bf24 commit 27a68d2

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,30 @@ pull request.
111111
Open an issue at <https://github.com/firechip/cobs_codec/issues> with a minimal
112112
reproduction: the input bytes, what you expected, and what you got.
113113

114+
## Releasing
115+
116+
Publishing to pub.dev is automated from a signed `v*` tag, but the **GitHub
117+
Release is created by hand — don't skip it.** The full checklist:
118+
119+
1. Bump `version` in [`pubspec.yaml`](pubspec.yaml) and add a `## X.Y.Z` section
120+
to [`CHANGELOG.md`](CHANGELOG.md). Validate with `dart pub publish --dry-run`.
121+
2. Commit (`chore: release X.Y.Z`) and tag it **signed**:
122+
`git tag -s vX.Y.Z -m "cobs_codec X.Y.Z"`; push `main` and the tag.
123+
3. The tag triggers [`publish.yml`](.github/workflows/publish.yml), which
124+
publishes to **pub.dev** via automated publishing (OIDC) — no credentials.
125+
4. Create the **GitHub Release** and attach the exact published archive:
126+
127+
```console
128+
curl -fsSL https://pub.dev/api/archives/cobs_codec-X.Y.Z.tar.gz \
129+
-o cobs_codec-X.Y.Z.tar.gz
130+
gh release create vX.Y.Z --verify-tag --title "cobs_codec X.Y.Z" \
131+
--notes-file notes.md cobs_codec-X.Y.Z.tar.gz
132+
```
133+
134+
The description should mirror the pub.dev release: the `CHANGELOG.md`
135+
highlights, an install snippet, and the
136+
`pub.dev/packages/cobs_codec/versions/X.Y.Z` link.
137+
114138
## License
115139

116140
By contributing, you agree that your contributions are licensed under the

0 commit comments

Comments
 (0)