Skip to content

Maintenance

Simon Warta edited this page Oct 14, 2024 · 11 revisions

This page contains instructions for maintainer, not users.

Update CosmWasm

  1. Set version of cosmwasm-std/cosmwasm-vm in libwasmvm/Cargo.toml
  2. Run (cd libwasmvm && cargo check) to update libwasmvm/Cargo.lock
  3. Update testing contracts: (cd testdata && ./download_releases.sh v0.13.0)
  4. Run Rust tests: (cd libwasmvm && cargo test)
  5. Run Go tests: make build-rust && make test (This will create libwasmvm.* files. Don't commit those)

Create a release

  1. Merge all your work in main
  2. export NEW_WASMVM_VERSION="1.2.1"
  3. If you do a major version bump: Go requires you to change the package suffix to v2 / v3 / ... and update all imports to that
  4. Update version in Cargo.toml, update lockfile and commit to main:
    gsed -i -e "s/^version[[:space:]]*=[[:space:]]*.*$/version = \"$NEW_WASMVM_VERSION\"/" libwasmvm/Cargo.toml
    (cd libwasmvm && cargo check)
    git add libwasmvm/Cargo.* && git commit -m "Set libwasmvm version to $NEW_WASMVM_VERSION"
    git push
    
  5. Wait for the re-build of the shared libraries by the CI job deploy_to_git. This adds a [skip ci] Built release libraries commit. Pull latest main branch.
    watch --interval 20 'git pull && git log'
    
  6. git tag "v$NEW_WASMVM_VERSION", review everything and git push --tags

Now the shared libraries are checked in at the new tag. A CI build is triggered by the tag, that creates a release including the static library build. Once the release is done, add some meaningful description to the release, as it is shown to people using dependabot. Especially consensus-breaking changes are of interest here.

Release builders

  1. Bump version in builders/Makefile
    -BUILDERS_PREFIX := cosmwasm/libwasmvm-builder:0100
    +BUILDERS_PREFIX := cosmwasm/libwasmvm-builder:0101
    and Makefile
    -BUILDERS_PREFIX := cosmwasm/libwasmvm-builder:0100
    +BUILDERS_PREFIX := cosmwasm/libwasmvm-builder:0101
  2. Finalize README section:
    diff --git a/builders/README.md b/builders/README.md
    index f262d5a..6dd0a57 100644
    --- a/builders/README.md
    +++ b/builders/README.md
    @@ -23,6 +23,8 @@ See those DockerHub repos for all available versions of the builder images.
     
     **Unreleased**
     
    +**Version 0101:**
    +
     - Update Rust to 1.81.0.
     - Update Dockerfile.cross from Debian Bullseye to Bookworm ([#533])
     - Rename `.cargo/config` to `.cargo/config.toml` to silence warning
  3. Update docs/COMPILER_VERSIONS.md
  4. Create PR branch and commit
  5. Build images: (cd builders && make docker-images)
  6. Check and publish
  7. Push PR branch to use the new images
Clone this wiki locally