You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: revive and improve release automation (#2266)
* ci: automate creation of GitHub releases and tags
* docs: update documentation on release creation
* feat: release individual packages
* fix: trigger release workflows on Cargo.toml changes
* chore: simplify cargo-publish job check
* ci: limit duplication in release workflows
* docs: document the new release process and possible improvements
* chore: apply suggestions from code review
Co-authored-by: Steve Loeppky <biglep@filoz.org>
* chore: modernize release automation with workspace-aware publishing
- Update release-check.yml to use 'cargo publish --workspace --dry-run'
- Update releaser.yml to automate 'cargo publish --workspace' on merge
- Update CONTRIBUTING.md to reflect the new automated process and remove outdated limitations
* chore: enable trusted publishing and fix OpenCL linkage
- Enable OIDC trusted publishing for crates.io (id-token: write)
- Use --no-default-features for cargo publish to avoid OpenCL dependency
- Update release documentation to reflect these changes
* ci: install opencl in release workflows
* Apply changes requested in review
---------
Co-authored-by: Steve Loeppky <biglep@filoz.org>
Copy file name to clipboardExpand all lines: RELEASE.md
+17-46Lines changed: 17 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ The FVM is a workspace of crates which have different release schedules:
14
14
> When releasing a new version of the FVM, make sure to check if any backports are needed and do them in separate PRs targeting the appropriate branches. Afterwards, make sure to create a new release for the backported changes.
15
15
> Note that the v2 and v3 tracks no longer contain the `fvm_integration_tests` crate so there is no need to backport and release it.
16
16
17
-
The primary crates are `fvm`, `fvm_shared`, `fvm_sdk`, and the integration testing framework `fvm_integration_tests`. These are the crates that have [`version.workspace = true`](https://github.com/search?q=repo%3Afilecoin-project%2Fref-fvm%20version.workspace%20%3D%20true&type=code).
17
+
The primary crates are `fvm`, `fvm_shared`, `fvm_sdk`, and the integration testing framework `fvm_integration_tests`. These are the crates that have [`version.workspace = true`](https://github.com/search?q=repo%3Afilecoin-project%2Fref-fvm%20version.workspace%20%3D%20true&type=code).
18
18
19
19
## Versioning
20
20
Versioning of the [primary crates](#primary-crates) is not strictly semver compatible:
@@ -33,9 +33,6 @@ To propose a new release, open a pull request with the following changes:
33
33
2. Update the version of the coupled workspace dependencies in `Cargo.toml` to match the new version
2. The **Releaser** GitHub Action will automatically:
78
+
* Create git tags for each released crate (`crate_name@vX.Y.Z`).
79
+
* Publish the draft GitHub Release(s).
80
+
* Publish the crates to [crates.io](https://crates.io) using `cargo publish --workspace --no-default-features`.
81
+
- Note: This repository uses **trusted publishing** via OIDC. No `CARGO_REGISTRY_TOKEN` secret is required, but the repository must be configured as a trusted publisher on crates.io.
0 commit comments