-
Notifications
You must be signed in to change notification settings - Fork 217
Release v2023‐12‐18
-
Make a copy of the latest release Release-v2023-07-18 document as a new page on cardano-wallet's wiki called
Release-v2023-12-18
. -
Pick up the latest green commit from master and prove it's green by linking the succesful buildkite and github actions builds here.
- commit: 4f86f5d962e1e1d669b1de3ea39f191ace8868f1
- buildkite
-
Setup your variables in the shell
export NEW_GIT_COMMIT="4f86f5d962e1e1d669b1de3ea39f191ace8868f1" export NEW_GIT_TAG="v2023-12-18" export NEW_CABAL_VERSION="2023.12.7" export OLD_CABAL_VERSION="2023.7.18" export OLD_GIT_TAG="v2023-07-18" export CARDANO_NODE_TAG="8.1.2"
-
Fetch the selected commit:
Go to a clean directory and run:
git clone https://github.com/cardano-foundation/cardano-wallet.git cd cardano-wallet git checkout $NEW_GIT_COMMIT
-
Create a new branch for the release:
git checkout -b release-candidate/$NEW_GIT_TAG
-
update swagger.yaml with
sed -i "s|version: .*|version: $NEW_GIT_TAG|" specifications/api/swagger.yaml git commit -m "Update wallet version in swagger.yaml" specifications/api/swagger.yaml
-
update cardano-wallet version number in *.cabal files
git ls-files '*.cabal' | xargs sed -i "s/$OLD_CABAL_VERSION/$NEW_CABAL_VERSION/" git commit -m "Update cardano-wallet version in *.cabal files" $(git ls-files '*.cabal')
-
update cardano-wallet version number in docker-compose.yml
sed -i "s/cardano-wallet:$OLD_CABAL_VERSION/cardano-wallet:$NEW_CABAL_VERSION/" docker-compose.yml git commit -m "Update cardano-wallet version in docker-compose.yml" docker-compose.yml
-
update the latest releases table inside the README.md
# update the latest releases table inside the README.md by hand git commit -m "Prepend new record to the releases table" README.md
-
check the old version number is not mentioned somewhere new
git grep $OLD_CABAL_VERSION
-
Push the release-candidate branch
git push origin HEAD
-
Take note of the pushed commit as this is the
rc-latest
tag (6130be741a412e503fa1b83432d11a049a03a3bc)[https://github.com/cardano-foundation/cardano-wallet/commit/6130be741a412e503fa1b83432d11a049a03a3bc]export RELEASE_GIT_COMMIT="6130be741a412e503fa1b83432d11a049a03a3bc"
-
Make sure the release-candidate cardano-wallet is green (link)[https://buildkite.com/cardano-foundation/cardano-wallet/builds/2533]
-
Make sure the rc-latest is green, take note of build 2542 as the artifacts source (link)[https://buildkite.com/cardano-foundation/cardano-wallet/builds/2542]
-
Make sure the docker image for rc-latest was pushed link
-
Run Linux E2E tests on rc-latest artifacts (look for the 2542 build) link
-
Run Windows E2E tests on rc-latest artifacts (look for the 2542 build) link
-
Run MacOS E2E tests on rc-latest artifacts (look for the 2542 build) link
-
Run Docker E2E tests on the rc-latest and node 8.1.2 (look for rc-latest in the start wallet) link
-
Run Windows unit tests on rc-latest artifacts (look for the 2542 build) link
-
Run benchmarks on rc-release commit link
-
Run docker-compose for Linux on rc-latest image link
-
Get the release-candidate branch merged to master
-
Trigger a release build on CI (GitHub Actions) for this release branch and wait for the build artifacts to be published on the GitHub release page.
git tag --sign -m $NEW_GIT_TAG $NEW_GIT_TAG $RELEASE_GIT_COMMIT git push origin $NEW_GIT_TAG
- 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
git push origin gh-pages
- Make sure the Command-Line Interface manual is up to date.
-
Execute on Linux and partially on MacOS manual scenarios on the binaries to be released. https://docs.google.com/spreadsheets/d/1fCCI9TcbS2_pTjGJfw2umMFczhYDjLux5rz-65UkEUw/edit#gid=415901212
-
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.
-
Remember to leave this checklist in an up-to-date status for the next releaser