From bbb9d5ee4f6fba64e31231092858484303aa82d0 Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Wed, 10 Jan 2024 15:59:44 +0100 Subject: [PATCH] suave-geth release checklist --- .github/workflows/releaser.yml | 2 +- suave/release-checklist.md | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 suave/release-checklist.md diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index f3b8238f0..68418e38a 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -28,7 +28,7 @@ jobs: - name: Log tag name run: echo "Build for tag ${{ github.ref_name }}" - - name: release dry run + - name: Create release run: make release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/suave/release-checklist.md b/suave/release-checklist.md new file mode 100644 index 000000000..b34a99445 --- /dev/null +++ b/suave/release-checklist.md @@ -0,0 +1,38 @@ +suave-geth Release Checklist +============================ + +Note: the best days to release a new version are Monday to Wednesday. Never release on a Friday (because of the risk of needing to work on the weekend). + +### Prepare the release + +- [ ] Run linter and tests: + ```bash + $ make lint && make test && make suave + $ ./build/bin/suave-geth version + ``` +- [ ] Test latest version with [suapp-examples](https://github.com/flashbots/suapp-examples) and [suave-std](https://github.com/flashbots/suave-std) + +### Update documentation (if needed) + +Prepare documentation updates before the release is published. Only if needed. + +- [ ] [Docs](https://github.com/flashbots/suave-docs) +- [ ] [Specs](https://github.com/flashbots/suave-specs) + +### Publish the release + +- [ ] Pick the version (i.e. `v0.2.0`) +- [ ] Update the version number in [`params/version.go`](../params/version.go) +- [ ] Make a commit with the version number change (i.e. `git commit -m 'bump version to v0.2.0'`) +- [ ] Tag new version (`git tag -s v0.2.0`) +- [ ] Push tag to Github. At this point, [CI](https://github.com/flashbots/suave-geth/blob/release-checklist/.github/workflows/releaser.yml) builds the packages, publishes Docker images to [Docker hub](https://hub.docker.com/r/flashbots/suave-geth), and creates a draft release on Github (all using [Goreleaser](https://github.com/flashbots/suave-geth/blob/release-checklist/.goreleaser.yaml)) +- [ ] Edit the draft release on Github to prepare nice release notes +- [ ] Publish the release (note: this will send an email to subscribers on Github) + +### Test the published release + +- [ ] Download the release binary: `curl -L https://suaveup.flashbots.net | bash` and check the version with `suave-geth version` + +### Announcing + +- [ ] Make a forum post, possibly announce on Discord and Twitter