Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit d398232

Browse files
authored
Start documenting release process (#273)
1 parent 2f5024e commit d398232

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

README.md

+42
Original file line numberDiff line numberDiff line change
@@ -221,3 +221,45 @@ by appending your own. A few useful ones are as follow.
221221
# Check whether the code is compilable
222222
./scripts/docker_run.sh cargo +nightly check
223223
```
224+
225+
## Release Process
226+
227+
All upgrades to Gateway should happen via the release process.
228+
We need to track which features were included in the release, usually including a changelog that covers each PR that was merged.
229+
Proper release management is important here, especially since releases include many varieties of breaking changes.
230+
A scenario test should be written to show that things work as expected after the upgrade takes place.
231+
The goal is to not break things on release.
232+
233+
Releases should be cut from the `develop` (default) branch on [Github](https://github.com/compound-finance/gateway).
234+
For now, here's the manual process we follow for cutting releases:
235+
236+
### Build Release Artifacts
237+
238+
First build the release artifacts using the included script:
239+
240+
```
241+
$ scripts/build_release.sh <MILESTONE TAG>
242+
```
243+
244+
Where `<MILESTONE TAG>` should be a sequentially increasing counter beginning with `m`, e.g. `m7`, `m8`, `m9`.
245+
246+
### Upload Release Artifacts
247+
248+
Draft a [new release on GitHub](https://github.com/compound-finance/gateway/releases/new).
249+
Tag it with the appropriate milestone tag.
250+
Title it in a style similar to other releases, describing its purpose.
251+
Put any other context or information describing what it does in the description.
252+
253+
Attach the following files to the release, from the repository where you built the release artifacts:
254+
255+
```
256+
contracts.json
257+
gateway_runtime.checksum
258+
gateway_runtime.compact.wasm
259+
rpc.json
260+
types.json
261+
```
262+
263+
These files should all exist in the `releases/<MILESTONE TAG>` directory of the repository you built from,
264+
you should be able to simply drag and drop them.
265+
This will likely be automated by the process of merging certain release branches into the main development branch.

0 commit comments

Comments
 (0)