Files
revive/RELEASE.md
T
Alexander Samusev 0dafc779ce ci: update release flow and publish list.json (#276)
This pull request adds changes described in **this comment**:

- `.github/scripts/json_generator.py` - a small script that generates
several json files for different platforms.
-
[generate_versions.yml](https://github.com/paritytech/revive/compare/as-release-json?expand=1#diff-2aee05b96020ac60943e6dfcb30597e53898f31542aeb570468b970d9a13a5a6)
- the workflow that runs when release is published, creates info.json
files and pushes them into resolc-bin repo
- `js/build.js` is adjusted in order to set `RESOLC_WASM_URI` from env
variable
- ⚠️ Release workflow is changed: 
  - In PRs and main branch it'll only build artifacts
- Release will happen automatically only on the `v*` tag push. This is
needed for revive_web.js to have the necessary `RESOLC_WASM_URI`
- workflow will check that version in Cargo.toml is the same as the tag
when the new tag is pushed

cc https://github.com/paritytech/revive/issues/162
cc https://github.com/paritytech/devops/issues/3890
2025-04-07 13:39:56 +02:00

1.3 KiB

Release checklist

Prior to the first stable release we neither have formal release processes nor do we follow a fixed release schedule.

To create a new pre-release:

  1. Create a release PR which updates the -dev.X versions in the workspace Cargo.toml and updates the CHANGELOG.md accordingly.
  2. If the CI passes, merge the release PR.
  3. Push a tag that has the same -dev.X version as in Cargo.toml
  4. The release workflow will attempt to build and publish a new pre-release if the latest tag does match the cargo package version.
  5. Wait for the Release workflow to finish. It should create the pre-release with the same -dev.X name.
  6. Check that pre-release was created on the Releases page with all artifacts.
  7. After the release is published, another workflow should start automatically and update json files in https://github.com/paritytech/resolc-bin. Check the changes.
  8. Update the contract-docs accordingly

LLVM release

To create a new LLVM release, run "Release LLVM" workflow. Use current LLVM version as parameter, e.g. 18.1.8. Version suffix will be resolved automatically.
The workflows will create new GitHub release, and upload LLVM binaries. Next release of resolc will use newly created binaries.