You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/releasing/README.md
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -380,3 +380,50 @@ Following the previous example in the [Release candidate section](#release-candi
380
380
1. Enter the tag name `$VERSION` (i.e. `v0.7.3`)
381
381
4. Monitor the [Publish Docker image workflow](https://github.com/ava-labs/subnet-evm/actions/workflows/publish_docker.yml) succeeds. Note this workflow is triggered when pushing the tag, unlike Goreleaser which triggers when publishing the release.
382
382
5. Finally, [create a release for precompile-evm](https://github.com/ava-labs/precompile-evm/blob/main/docs/releasing/README.md)
383
+
384
+
### Post-release
385
+
After you have successfully released a new subnet-evm version, you need to bump all of the versions again in preperation for the next release. Note that the release here is not final, and will be reassessed, and possibly changer prior to release. Some releases require a major version update, but this will usually be `$VERSION` + `0.0.1`. For example:
386
+
```bash
387
+
export P_VERSION=v0.7.4
388
+
```
389
+
1. Create a branch, from the tip of the `master` branch after the release PR has been merged:
390
+
```bash
391
+
git fetch origin master:master
392
+
git checkout master
393
+
git checkout -b "prep-$P_VERSION-release"
394
+
```
395
+
1. Bump the version number to the next pending release version, `$P_VERSION`
396
+
- Update the [RELEASES.md](../../RELEASES.md) file with `$P_VERSION`, creating a space for maintainers to place their changes as they make them.
397
+
- Modify the [plugin/evm/version.go](../../plugin/evm/version.go) `Version` global string variable and set it to `$P_VERSION`.
398
+
1. Add an entry in the object in [compatibility.json](../../compatibility.json), adding the next pending release versionas key and the AvalancheGo RPC chain VM protocol version as value, to the `"rpcChainVMProtocolVersion"` JSON object. For example, we would add:
399
+
400
+
```json
401
+
"v0.7.4": 39,
402
+
```
403
+
404
+
💁 If you are unsure about the RPC chain VM protocol version, set the version to `0`, for example `"v0.7.4": 0`, and then run:
405
+
406
+
```bash
407
+
go test -run ^TestCompatibility$ github.com/ava-labs/subnet-evm/plugin/evm
408
+
```
409
+
410
+
This will fail with an error similar to:
411
+
412
+
```text
413
+
compatibility.json has subnet-evm version v0.7.4 stated as compatible with RPC chain VM protocol version 0 but AvalancheGo protocol version is 39
414
+
```
415
+
416
+
This message can help you figure out what the correct RPC chain VM protocol version (here `39`) has to be in compatibility.json for your current release. Alternatively, you can refer to the [Avalanchego repository `version/compatibility.json` file](https://github.com/ava-labs/avalanchego/blob/main/version/compatibility.json) to find the RPC chain VM protocol version matching the AvalancheGo version we use here.
417
+
1. Create a pull request (PR) from your branch targeting master, for example using [`gh`](https://cli.github.com/):
0 commit comments