-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Labels
releaseIndicates if the issues and PRs are related to release of new version of the protocolIndicates if the issues and PRs are related to release of new version of the protocol
Description
Archwayd Release Checklist
This checklist is to be used for tracking the final things to do to wrap up a new release of the Archway protocol binary as well as all the post upgrade maintenance work.
Before Release
- Ensure all the Github workflows are passing on
main - Rename the
latestupgrade handlers to thev8.0.0. This includes:- Rename the package name in
app/upgrades/latest/upgrades.gofromupgradelatesttoupgrades8_0_0 - Set the name of the upgrade handler by setting the
Nameto the new version namev8.0.0 - Set the
NameAsciiArtto match what the version is expected to be. You can generate the art from here and using the font3x5 - In
app/app_upgradeschange the import path fromupgradelatest "github.com/archway-network/archway/app/upgrades/latest"toupgrade8_0_0 "github.com/archway-network/archway/app/upgrades/8_0_0" - In
app/app_upgradeschange the new Upgrade Handler reference fromupgradelatest.Upgradetoupgrade8_0_0.Upgrade
- Rename the package name in
- Update the
upgradeNamevalue tov8.0.0in theinterchaintest/setup.go. This is used in the Chain Upgrade test and modifying this ensures that we simulate the upgrade accurately. - Update the CHANEGLOG. This includes
- Renaming the
## [Unreleased]header to[v8.0.0](https://github.com/archway-network/archway/releases/tag/v8.0.0) - Removed any unused headers
- Fix any typos or duplicates
- Renaming the
- Create a PR with the above changes titled
chore: vX release changes
Release
- Once above PR is merged, create a new release here. Name the release and the tag as
v8.0.0and the contents are copy pasted from CHANGELOG.md - At the end add a version compare link as so
**Full Changelog**: https://github.com/archway-network/archway/compare/v7.0.0...v8.0.0 - Ensure all release artifacts are successfully built
Post Release
- Update CHANGELOG by adding the following to the top of the file
## [Unreleased]
### Added
### Changed
### Deprecated
### Removed
### Fixed
### Improvements- Add a placeholder upgrade handler as follows
- Add new file at path
upgrades/latest/upgrades.gowith the following contents
- Add new file at path
package upgradelatest
import (
storetypes "cosmossdk.io/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/auth/keeper"
upgradetypes "cosmossdk.io/x/upgrade/types"
"github.com/archway-network/archway/app/keepers"
"github.com/archway-network/archway/app/upgrades"
)
// This upgrade handler is used for all the current changes to the protocol
const Name = "latest"
const NameAsciiArt = ""
var Upgrade = upgrades.Upgrade{
UpgradeName: Name,
CreateUpgradeHandler: func(mm *module.Manager, cfg module.Configurator, keepers keepers.ArchwayKeepers) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
migrations, err := mm.RunMigrations(ctx, cfg, fromVM)
if err != nil {
return nil, err
}
ctx.Logger().Info(upgrades.ArchwayLogo + NameAsciiArt)
return migrations, nil
}
},
StoreUpgrades: storetypes.StoreUpgrades{},
} - Add the latest upgrade handler reference to
app/app_upgrades.goas the following package importupgradelatest "github.com/archway-network/archway/app/upgrades/latest"and the upgrade name asupgradelatest.Upgrade, // latest - This upgrade handler is used for all the current changes to the protocol - Update the
initialVersionvalue in theinterchaintest/setup.goto "v8.0.0" andupgradeNametolatest. This is used in the Chain Upgrade test and modifying this ensures that we always have an upgrade handler test for each PR - Create a PR for the above with the title
chore: Post v8.0.0 release maintenance
Metadata
Metadata
Assignees
Labels
releaseIndicates if the issues and PRs are related to release of new version of the protocolIndicates if the issues and PRs are related to release of new version of the protocol