Skip to content

Commit

Permalink
use particular fromTag in a3p-integration (#10056)
Browse files Browse the repository at this point in the history
_incidental_

## Description
Use a particular fromTag to avoid build errors when agoric-3-proposals advances `latest`.

Also changes the proposal id for `upgrade-next` from `e` to `n` to make it easier to remember, give ample namespace preceding it and make it very obvious from a proposal ID that it's after the next upgrade. E.g. `s:stake-bld` (which had been `g:stake-bld`)

### Security Considerations
n/a

### Scaling Considerations
n/a

### Documentation Considerations
Updated docs here. Agoric/agoric-3-proposals#180 should align.

### Testing Considerations
CI

### Upgrade Considerations
n/a
  • Loading branch information
mergify[bot] committed Sep 10, 2024
2 parents f6191c2 + 32163ea commit a9e951a
Show file tree
Hide file tree
Showing 28 changed files with 19 additions and 13 deletions.
4 changes: 2 additions & 2 deletions a3p-integration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ cannot access SDK code. Their names must be lower case.
In the release branches, the end-to-end `a3p-integration` test usually only has
a single proposal package named `a:upgrade-NN`, which performs a chain software
upgrade proposal to the corresponding upgrade plan. In the `master` branch, the
next release's changes are staged in `a:upgrade-next`. There may also be
next release's changes are staged in `n:upgrade-next`. There may also be
core-eval proposal packages, either before or after the chain software upgrade
proposal.

Expand All @@ -69,7 +69,7 @@ For a chain software upgrade proposal, the `type` is `"Software Upgrade Proposal
`/golang/cosmos/app/upgrade.go`).
- See **Generating core-eval submissions** below for details.

For an (evolving) example, see `a:upgrade-next` in master.
For an (evolving) example, see `n:upgrade-next` in master.

### Core-eval proposal

Expand Down
2 changes: 1 addition & 1 deletion a3p-integration/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"agoricSyntheticChain": {
"fromTag": "latest"
"fromTag": "use-vaults-auctions"
},
"scripts": {
"build": "yarn run build:sdk && yarn run build:submissions && yarn run build:synthetic-chain",
Expand Down
26 changes: 16 additions & 10 deletions a3p-integration/proposals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Steps:
We need the actual proposal that was sent to stakers. In the case of upgrades
(chain-halting) it will be a dedicated release branch. (E.g.
https://github.com/Agoric/agoric-sdk/tree/dev-upgrade-16/). If you're
publishing an "upgrade" proposal and it's called `a:upgrade-next`, keep looking;
publishing an "upgrade" proposal and it's called `n:upgrade-next`, keep looking;
that is only a draft.

### Build the submissions
Expand Down Expand Up @@ -78,19 +78,25 @@ the repo. The PR's CI will test it and once the PR is merged it will update the

## How to revise this directory after

Once `latest` has changed, if it was a Software Upgrade Proposal then the
upgrade handler in master will fail. If that poses a problem, you can set
a3p-integration `agoricSyntheticChain.fromTag` to a specific version instead
of `latest`. See https://ghcr.io/agoric/agoric-3-proposals for the available
tags.
Once a new proposal is merged into agoric-3-proposals, take the proposal name
(the part after the colon) and use it in the fromTag value in a3p-integration's
package.json. For example, `a:my-proposal` becomes `"fromTag": "use-my-proposal"`.

You need to revise `a:upgrade-next` to be able to apply on top of the last
upgrade. In master it should already have these values, which should be
maintained:
The `agoricSyntheticChain.fromTag` should generally work with a value of 'latest',
but that causes problems whenever agoric-3-proposals publishes a new image with changes
that a3p-integration doesn't yet expect.

So we specify a particular *use* image. E.g. `use-upgrade-16`.
See https://ghcr.io/agoric/agoric-3-proposals for the available tags.

If you're changing the fromTag to a a new SDK version (e.g. a new chain-halting
upgrade) then you also need to revise the `upgrade-next` proposal to be able to
apply on top of that upgrade. In master it should already have these values,
which should be maintained:
```
"releaseNotes": false,
"sdkImageTag": "unreleased",
"planName": "UNRELEASED_A3P_INTEGRATION",
```

But you will have to remove from `app.go` whatever proposals were already executed.
But you will have to remove from [upgrade.go](/golang/cosmos/app/upgrade.go) whatever proposals were already executed.

0 comments on commit a9e951a

Please sign in to comment.