diff --git a/documentation/misc/RELEASE_ISSUE_TEMPLATE.md b/documentation/misc/RELEASE_ISSUE_TEMPLATE.md index e26e06b326d..49d6fedd32d 100644 --- a/documentation/misc/RELEASE_ISSUE_TEMPLATE.md +++ b/documentation/misc/RELEASE_ISSUE_TEMPLATE.md @@ -15,6 +15,7 @@ - [ ] Fork a new branch (`release/vX.Y.Z`) from `master` and make any further release related changes to this branch. If any "non-trivial" changes get added to the release, uncheck all the checkboxes and return to this stage. - [ ] Bump the version in `build/version.go` in the `master` branch to `vX.Y.(Z+1)-dev` (bump from feature release) or `vX.(Y+1).0-dev` (bump from mandatory release). Run make gen and make docsgen-cli before committing changes +- [ ] *Optional:* If preparing a release for a network upgrade, make sure all [Lotus dependecies are updated to the correct versions for the network upgrade](https://github.com/filecoin-project/lotus/blob/master/documentation/misc/Update_Dependencies_Lotus.md) **Prepping an RC**: diff --git a/documentation/misc/Update_Dependencies_Lotus.md b/documentation/misc/Update_Dependencies_Lotus.md new file mode 100644 index 00000000000..71ab5de89b0 --- /dev/null +++ b/documentation/misc/Update_Dependencies_Lotus.md @@ -0,0 +1,53 @@ +# Updating Lotus Dependencies + +This guide will walk through how to update the most common dependencies in Lotus. These are the dependencies this guide currently covers: + +- [Ref-FVM](#updating-ref-fvm) +- [Filecoin-FFI](#updating-filecoin-ffi) +- [Go-State-Types](#updating-go-state-types) +- [Builtin-Actors](#updating-builtin-actors) + +## Updating Ref-FVM + +1. The Ref-FVM dependency is updated through Filecoin-FFI. So, if you need to update Ref-FVM, you would need create a Filecoin-FFI PR similar to this: [PR updating Ref-FVM in Filecoin-FFI](https://github.com/filecoin-project/filecoin-ffi/pull/447) + +2. After the PR has been merged you would need to create a [new Filecoin-FFI release](https://github.com/filecoin-project/filecoin-ffi?tab=readme-ov-file#release-process). + +3. After the Filecoin-FFI release is out, you can follow the process outlined in [Filecoin-FFI](#updating-filecoin-ffi). + +## Updating Filecoin-FFI + +1. In your `lotus` directory, `cd extern/filecoin-ffi`. + +2. `git fetch` to ensure you have the latests changes for *filecoin-ffi*. + +3. `git checkout vX.XX.X` to checkout the version you want to update to. + +4. Then commit the update to your Lotus branch and open a PR for updating Filecoin-FFI. + +๐Ÿ‘‰ Example of a [PR updating Filecoin-FFI](https://github.com/filecoin-project/lotus/pull/11431) + +๐Ÿ‘‰ If you need to create a Filecoin-FFI release, you can follow [the release process](https://github.com/filecoin-project/filecoin-ffi?tab=readme-ov-file#release-process). + +## Updating Go-State-Types + +1. In Lotusยดs [go.mod file](https://github.com/filecoin-project/lotus/blob/master/go.mod), search for `go-state-types` and update the version to your wanted version. + +2. Run `go mod tidy`, and commit your changes. + +๐Ÿ‘‰ Example of a [PR updating Go-State-Types](https://github.com/filecoin-project/lotus/pull/11732) + +๐Ÿ‘‰ If you need to create a Go-State-Types release, you can follow the steps to create a [new Go-State-Types release](https://github.com/filecoin-project/go-state-types?tab=readme-ov-file#release-process). + +## Updating Builtin-Actors + +1. In your `lotus` directory, `cd build/actors`. + +2. Run this script `./pack.sh vXX vXX.X.X-rcX` to pull in the builtin-actors bundle into your Lotus repo. + +- `vXX` is the network version you are bundling this builtin-actors for. +- `vXX.X.X-rcX` is the builtin-actors release you are bundling. + +๐Ÿ‘‰ Example of a [PR updating Builtin-Actors bundle](https://github.com/filecoin-project/lotus/pull/11682/) + +๐Ÿ‘‰ If you need to create a Builtin-Actors release, you can follow the steps to create a [new Builtin-Actors release](https://github.com/filecoin-project/builtin-actors/?tab=readme-ov-file#releasing). \ No newline at end of file