Here's how to make a new release of substrate-archive
.
- Make a new branch, name it whatever you want, but
vx.y.z-prep
is a good template - Update
Cargo.toml
insubstrate-archive
andsubstrate-archive-backend
with the new version number. - Update all references to
substrate
crates andpolkadot
to their respective latest releases. - Update the
CHANGELOG
as specified here. - Run all tests:
TEST_DATABASE_URL="postgres://localhost:5432/archive cargo test --all
. - Push the PR against the
release
branch. - Once reviewed, merge it to
release
. - Tag the
release
branchwith
git tag vx.y.zand push the tags with
git push --tags` - Build a binary for debian, compatible with the current glibc version (
v2.31
)docker run --rm -it debian:jessie
(requires at least 8Gb RAM)- install required dependencies
apt-get update && apt-get -y install git curl gcc clang
- install rust from rustup.rs:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- reload the shell:
source $HOME/.cargo/env
- build archive:
git clone https://github.com/paritytech/substrate-archive.git --branch release --single-branch && cd substrate-archive/bin/polkadot-archive && SKIP_WASM_BUILD=1 cargo build --release
- keeping the container running, in a another terminal find the id of the docker container with
docker ps -a
, copy the binary to host withdocker cp $YOUR_CONTAINER_ID:/substrate-archive/bin/polkadot-archive/target/release/polkadot-archive .
- Prepare a new draft release in the github UI
- Upload the new binary
- Tag the new release against the release branch
- Write the release notes
- Get a review of the draft release from the team
- Publish the release
- Signal to devops that there is a new release available