Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add release docs #1547

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Introduction

This file outlines the current procedure for the release of the Kakarot-RPC. This procedure is subject to updates
and should be maintained in order to reflect the latest necessary steps to release.

# Procedure

## Staging

### Deploy updated contracts

- Run the `e2e pipeline` CI with the `deploy` argument, targeting staging. This will update the contracts on the
staging environment and finish with a pull request on the `Kakarot` repository with the updated deployment values.
- Merge the PR on the `Kakarot` repository.

### Prepare release

- Open a PR on the RPC repository titled "Prepare RPC alpha release". This PR should: update Karnot's
deployment-config.yaml file and update the `Kakarot` submodule dependency to point to the commit which contains the
updated deployments file.
- Prepare the release of the RPC by making an alpha release on the RPC repository. This will trigger the CI which
will build the RPC and indexer images.

### Deploy the release and test

- Run the `karnot-deployment` CI, targeting staging. This will update the staging environment with the correct
images and env.
- Run the `e2e pipeline` CI with the `test` argument, targeting staging.
- If all the above works, you can move on to the next step, which repeats the previous actions but on the production
environment.

## Production

### Deploy updated contracts

- Run the `e2e pipeline` CI with the `deploy` argument, targeting production. This will update the contracts on the
staging environment and finish with a pull request on the `Kakarot` repository with the updated deployment values.
- Merge the PR on the `Kakarot` repository.

### Release

- Open a PR on the RPC repository titled "Prepare RPC release". This PR should: update Karnot's
deployment-config.yaml file, update the `Kakarot` submodule dependency to point to the commit which contains the
updated deployments file, update the various docker files to points to the future release version, update the
manifest's (Cargo.toml) version.
- Release on the RPC repository. This will trigger the CI which will build the RPC and indexer images.

### Deploy the release

- Run the `karnot-deployment` CI, targeting production. This will update the production environment with the correct
images and env.
- OPTIONAL: run the `e2e pipeline` CI with the `test` argument, targeting production.
Loading