To release a new Devnet version, follow these steps:
-
Increment the semver in Cargo.toml of those Devnet crates that have changed. Use
scripts/check_crate_changes.shfor this. -
Add a documentation entry for the incoming version by running:
$ npm --prefix website run docusaurus docs:version <VERSION> -
Create a PR styled after this one.
-
The publishing of crates, Docker images and documentation website is done automatically in the CI when the PR is merged into the main branch.
- This relies on the
CRATES_IO_API_KEYenvironment variable to contain a crates.io token with write access. - If you are creating a pre-release, possibly from a side branch of a PR, CircleCI sets an environment variable indicating that the workflow is a part of a pull request. The documentation framework (Docusaurus) recognizes this and prevents the documentation from being deployed. Either deploy from your local machine (
npm run deploy), or try manipulating the env var.
- This relies on the
-
When the CI workflow is done, create a git tag of the form
v<VERSION>, push it and create a GitHub release with notes describing changes since the last release. -
Attach the binary artifacts built in CI to the release. Use
scripts/fetch_ci_binaries.pyto fetch all artifacts of a CI workflow. -
Adapt starknet-devnet-js to the newly released Devnet. Check out one of the old adaptation PRs for reference.
-
Update
starknet-foundryto use the latest Devnet, if possible. Use this PR for reference.