Release the actors (updating the FVM if necessary).
Update the FVM in the FFI.
Update the FFI & actors in lotus.
Release the FVM
Cut an alpha release of the FVM (filecoin-project/ref-fvm) per the release process.
If the builtin-actors isn't using the latest version of version of fvm_shared, fvm_sdk, or any of the ipld/ crates:
Clone the filecoin-project/builtin-actors repo.
Checkout the next branch.
Update the fvm* crates (cargo upgrade --workspace fvm fvm_sdk ...).
Make a PR, wait for CI, merge, etc.
Release the Actors
Create a dev/$date-m2 [pre-release][releases] of the next branch. This will run the [release workflow][release-workflow] and will build a new bundle.
There's no need to bump the actor crate versions, just cut a release "tag" on github.
Creating a git tag isn't sufficient, you'll need to create the release on github to actually trigger the build.
Update the FFI
Clone filecoin-project/filecoin-ffi, checkout the feat/m2 branch.
Change to the rust/ directory, and update all FVM crates: cargo upgrade fvm fvm_shared fvm_ipld_blockstore fvm_ipld_encoding.
Make a PR to feat/m2, etc.
Update Lotus
First, update and rebuild the FFI:
Clone filecoin-project/lotus, checkout the experimental/fvm-m2branch.
Change to the extern/filecoin-ffi submodule, git fetch, then checkout the experimental/fvm-m2 branch.
Run make FFI_BUILD_FROM_SOURCE=1 inside extern/filecoin-ffi to build it. You may need to install some build dependencies, take a look at the FFI README.
Then, update the actors:
Change directory to build/actors in lotus.
Run ./pack.sh v8 dev/$date-m2 (where dev/$date-m2 is the actor's release tag you just created).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on fvm_shared to permit the latest version.
Changelog
Sourced from fvm_shared's changelog.
... (truncated)
Commits
f28593a
chore: release fvm 4.1.2 (#1980)b9b4540
feat: allow CBOR events (#1978)0bbb3a0
feat: port hamt validation logic to kamt (#1976)40d396e
feat: kamt: remove "ignore dead links" feature (#1975)f3c20d6
feat: kamt: deprecate kamt for_each (#1974)8d814b3
test: exclude test logic from coverage reports (#1927)adceefe
chore: release fvm 4.1.1 (#1972)daefd6b
Implement external iteration for AMT range iteration (#1965)9179b45
feat: enable nv22 support (#1970)c61a45e
fix: build: fix typo in cargo.toml (versino -> version) (#1969)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show