-
Notifications
You must be signed in to change notification settings - Fork 217
Release v2022 12 14
- Make a copy of this
Release Checklist Template
document as a new page on cardano-wallet's wiki calledRelease vYYYY-MM-DD
. Follow all the next steps using that newly created document as a "status tracker".
- Verify that the latest E2E tests are fine (See "E2E *" workflows on https://github.com/cardano-foundation/cardano-wallet/actions).
- Verify latest buildkite nightly and make sure the results are fine. Benchmark charts may be helpful in analysis.
-
Verify that recent Hydra builds on macOS pass tests. This is to rule out the unlikely event that a cardano-wallet contains a bug that is specific to the macOS (UNIX) platform and not already caught by the Linux tests. (Link to all Hydra jobs)
-
Make sure
cardano-wallet
points to correct revisions of dependent low-level libs incabal.project
. Usecardano-node
as guidance.-
Verify that target repositories point to appopriate revisions for
persistent
,cardano-addresses
,bech32
, ...) -
If you have updatednot updatedcabala.project
, execute
./nix/regenerate.sh --cache=/dev/null # This will fetch and update the sha256 hashes.
-
-
Fetch the tip of
master
:$ git checkout master $ git pull
-
Create a new branch for the release:
$ git checkout -b your-name/bump-release/YYYY-MM-DD
-
From the root of the repository, run:
$ ./scripts/make_release.sh
This will bump the version in
.cabal
and.nix
files, and the swagger spec files, and generate release notes.💡 Note: If you get GitHub API rate limit errors, you can set the
GITHUB_API_TOKEN
environment variable. To create a personal access token, go to your Github Settings. No scope is required for this token, only public access (as it is simply used to read publicly available data from the Github API). -
Verify that the script modified the compatibility matrix in README.md correctly.
-
Open a pull request to submit the modified files
-
Get it merged
-
Trigger a release build on CI (GitHub Actions) and wait for the build artifacts to be published on the GitHub release page.
$ git checkout master $ git pull $ git tag --sign -m "vYYYY-MM-DD" vYYYY-MM-DD $ git push origin vYYYY-MM-DD
Where
YYYY-MM-DD
should be replaced by the actual date of the release.
- Write release notes in the release page based on Next Release Notes
-
Verify that the documentations have been correctly exported on gh-pages
- Make a commit with redirects to the documentation for the release like this one.
git checkout gh-pages git pull origin gh-pages cd releases ./make_redirects.sh vYYYY-MM-DD ## push changes to gh-pages after
-
Make sure the Command-Line Interface manual is up to date.
-
Execute all manual scenarios on the binaries to be released. https://docs.google.com/spreadsheets/d/1dHxtitaadFUPTDuMTWv9YaoJDDPhec3GOsAdMKyFoxY/edit#gid=1037969965
-
Verify that sensitive fields listed in Cardano/Wallet/Api/Server are still accurate and aren't missing any new ones.
sensitive = [ "passphrase" , "old_passphrase" , "new_passphrase" , "mnemonic_sentence" , "mnemonic_second_factor" ]
-
Once everyone has signed off (i.e. Tech lead, QA & Release manager), publish the release draft.
-
Add the release to the automated migration tests (keep only the last 10 versions). See the header of the file as to how to generate the SHA256 hashes.
-
If there are any changes to the release checklist update the Release Checklist template.