We use the following branches:
Agoric
- the trunk for our cosmos-sdk fork, used by agoric-sdk.- New features which we plan to use in a near-future release are added here.
- Most releases are tagged here.
Agoric-vX.Y.Z-alpha.agoric.A.x
- a lazily-created release branch.- Branched off of release tag
vX.Y.Z-alpha.agoric.A
. - Created when we need a new release that omits some changes present on trunk.
- Prefer to contain only cherry-picks from trunk.
- Branched off of release tag
- Pattern can be extended to sub-sub-branches should the need arise.
Tag convention:
vX.Y.Z-alpha.agoric.A
for tagged releases on theAgoric
branch:vX.Y.Z
is the version of the latest integrated cosmos/cosmos-sdk release.- The
A
is an increasing sequence resetting to1
after the integration of a new cosmos/cosmos-sdk release.
vX.Y.Z-alpha.agoric.A.B
for "patch" releases on branchAgoric-vX.Y.Z-alpha.agoric.A.x
.B
starts at 1 and increases sequentially.
- Pattern can be extended to releases on sub-sub-branches should the need arise.
For new features:
- New features should be landed on
Agoric
first, then cherry-picked to a release branch as needed. - Create a new development branch off of
Agoric
. - Make changes, indicating code specific to our fork by ensuring the presence of a preceding or same-line
comment including "[AGORIC]" (e.g.,
// [AGORIC] Propagate the event history.
). - Test, review, merge PR with
automerge
label for mergify.io- Don't forget to update
CHANGELOG-Agoric.md
with the change and a link to its PR.
- Don't forget to update
Upon new cosmos-sdk releases, see upgrading the Interchain Stack.
Historical work:
- ag0 Agoric mainnet phase 0's gaiad-equivalent
Agoric-ag0
- should be identical to cosmos/cosmos-sdk + changes needed byag0