From 4e7e4273cec7f6e8b428c8333f66caa8669c6f21 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Tue, 10 Sep 2024 11:27:58 -0700 Subject: [PATCH 1/4] test: use a specific fromTag rather than latest --- a3p-integration/package.json | 2 +- a3p-integration/proposals/README.md | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/a3p-integration/package.json b/a3p-integration/package.json index 71207d38918..eb6673bd00a 100644 --- a/a3p-integration/package.json +++ b/a3p-integration/package.json @@ -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", diff --git a/a3p-integration/proposals/README.md b/a3p-integration/proposals/README.md index bf661f0caea..bc076f07769 100644 --- a/a3p-integration/proposals/README.md +++ b/a3p-integration/proposals/README.md @@ -78,15 +78,21 @@ 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. - -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: +Once a new proposal is merged into agoric-3-proposals, take the proposal name +(the part after the colon) and make it the fromTag value in a3p-integration's +package.json. + +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", From c571efc9bdc3fa1ca0d8d34edeb545eb7a42ca8e Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Tue, 10 Sep 2024 11:30:25 -0700 Subject: [PATCH 2/4] test: s for stake-bld proposal --- .../proposals/{g:stake-bld => s:stake-bld}/.yarnrc.yml | 0 a3p-integration/proposals/{g:stake-bld => s:stake-bld}/README.md | 0 .../proposals/{g:stake-bld => s:stake-bld}/package.json | 0 .../proposals/{g:stake-bld => s:stake-bld}/stakeBld.test.js | 0 .../proposals/{g:stake-bld => s:stake-bld}/test-lib/chain.js | 0 .../proposals/{g:stake-bld => s:stake-bld}/test-lib/index.js | 0 .../proposals/{g:stake-bld => s:stake-bld}/test-lib/rpc.js | 0 .../proposals/{g:stake-bld => s:stake-bld}/test-lib/wallet.js | 0 a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test.sh | 0 a3p-integration/proposals/{g:stake-bld => s:stake-bld}/yarn.lock | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/.yarnrc.yml (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/README.md (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/package.json (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/stakeBld.test.js (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test-lib/chain.js (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test-lib/index.js (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test-lib/rpc.js (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test-lib/wallet.js (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/test.sh (100%) rename a3p-integration/proposals/{g:stake-bld => s:stake-bld}/yarn.lock (100%) diff --git a/a3p-integration/proposals/g:stake-bld/.yarnrc.yml b/a3p-integration/proposals/s:stake-bld/.yarnrc.yml similarity index 100% rename from a3p-integration/proposals/g:stake-bld/.yarnrc.yml rename to a3p-integration/proposals/s:stake-bld/.yarnrc.yml diff --git a/a3p-integration/proposals/g:stake-bld/README.md b/a3p-integration/proposals/s:stake-bld/README.md similarity index 100% rename from a3p-integration/proposals/g:stake-bld/README.md rename to a3p-integration/proposals/s:stake-bld/README.md diff --git a/a3p-integration/proposals/g:stake-bld/package.json b/a3p-integration/proposals/s:stake-bld/package.json similarity index 100% rename from a3p-integration/proposals/g:stake-bld/package.json rename to a3p-integration/proposals/s:stake-bld/package.json diff --git a/a3p-integration/proposals/g:stake-bld/stakeBld.test.js b/a3p-integration/proposals/s:stake-bld/stakeBld.test.js similarity index 100% rename from a3p-integration/proposals/g:stake-bld/stakeBld.test.js rename to a3p-integration/proposals/s:stake-bld/stakeBld.test.js diff --git a/a3p-integration/proposals/g:stake-bld/test-lib/chain.js b/a3p-integration/proposals/s:stake-bld/test-lib/chain.js similarity index 100% rename from a3p-integration/proposals/g:stake-bld/test-lib/chain.js rename to a3p-integration/proposals/s:stake-bld/test-lib/chain.js diff --git a/a3p-integration/proposals/g:stake-bld/test-lib/index.js b/a3p-integration/proposals/s:stake-bld/test-lib/index.js similarity index 100% rename from a3p-integration/proposals/g:stake-bld/test-lib/index.js rename to a3p-integration/proposals/s:stake-bld/test-lib/index.js diff --git a/a3p-integration/proposals/g:stake-bld/test-lib/rpc.js b/a3p-integration/proposals/s:stake-bld/test-lib/rpc.js similarity index 100% rename from a3p-integration/proposals/g:stake-bld/test-lib/rpc.js rename to a3p-integration/proposals/s:stake-bld/test-lib/rpc.js diff --git a/a3p-integration/proposals/g:stake-bld/test-lib/wallet.js b/a3p-integration/proposals/s:stake-bld/test-lib/wallet.js similarity index 100% rename from a3p-integration/proposals/g:stake-bld/test-lib/wallet.js rename to a3p-integration/proposals/s:stake-bld/test-lib/wallet.js diff --git a/a3p-integration/proposals/g:stake-bld/test.sh b/a3p-integration/proposals/s:stake-bld/test.sh similarity index 100% rename from a3p-integration/proposals/g:stake-bld/test.sh rename to a3p-integration/proposals/s:stake-bld/test.sh diff --git a/a3p-integration/proposals/g:stake-bld/yarn.lock b/a3p-integration/proposals/s:stake-bld/yarn.lock similarity index 100% rename from a3p-integration/proposals/g:stake-bld/yarn.lock rename to a3p-integration/proposals/s:stake-bld/yarn.lock From c2e8b58ee9c2feabf09e5f9d8a185cf04c4e80d2 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Tue, 10 Sep 2024 11:31:03 -0700 Subject: [PATCH 3/4] test: n for next upgrade They are lexically ordered but there are enough letters in the alphabet that we can make them easier to remember. In particular "n" for next upgrade. --- a3p-integration/README.md | 4 ++-- a3p-integration/proposals/README.md | 2 +- .../proposals/{e:upgrade-next => n:upgrade-next}/.gitignore | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/.yarnrc.yml | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/README.md | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/agd-tools.js | 0 .../{e:upgrade-next => n:upgrade-next}/initial.test.js | 0 .../{e:upgrade-next => n:upgrade-next}/localchain.test.js | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/package.json | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/prepare.sh | 0 .../priceFeed-follower-auction.test.js | 0 .../{e:upgrade-next => n:upgrade-next}/provisionPool.test.js | 0 .../synthetic-chain-excerpt.js | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/test.sh | 0 .../{e:upgrade-next => n:upgrade-next}/tsconfig.json | 0 .../{e:upgrade-next => n:upgrade-next}/vatDetails.js | 0 .../proposals/{e:upgrade-next => n:upgrade-next}/yarn.lock | 0 17 files changed, 3 insertions(+), 3 deletions(-) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/.gitignore (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/.yarnrc.yml (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/README.md (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/agd-tools.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/initial.test.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/localchain.test.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/package.json (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/prepare.sh (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/priceFeed-follower-auction.test.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/provisionPool.test.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/synthetic-chain-excerpt.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/test.sh (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/tsconfig.json (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/vatDetails.js (100%) rename a3p-integration/proposals/{e:upgrade-next => n:upgrade-next}/yarn.lock (100%) diff --git a/a3p-integration/README.md b/a3p-integration/README.md index 0ef49b18dca..fd8e68d2322 100644 --- a/a3p-integration/README.md +++ b/a3p-integration/README.md @@ -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. @@ -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 diff --git a/a3p-integration/proposals/README.md b/a3p-integration/proposals/README.md index bc076f07769..4c0189293e6 100644 --- a/a3p-integration/proposals/README.md +++ b/a3p-integration/proposals/README.md @@ -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 diff --git a/a3p-integration/proposals/e:upgrade-next/.gitignore b/a3p-integration/proposals/n:upgrade-next/.gitignore similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/.gitignore rename to a3p-integration/proposals/n:upgrade-next/.gitignore diff --git a/a3p-integration/proposals/e:upgrade-next/.yarnrc.yml b/a3p-integration/proposals/n:upgrade-next/.yarnrc.yml similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/.yarnrc.yml rename to a3p-integration/proposals/n:upgrade-next/.yarnrc.yml diff --git a/a3p-integration/proposals/e:upgrade-next/README.md b/a3p-integration/proposals/n:upgrade-next/README.md similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/README.md rename to a3p-integration/proposals/n:upgrade-next/README.md diff --git a/a3p-integration/proposals/e:upgrade-next/agd-tools.js b/a3p-integration/proposals/n:upgrade-next/agd-tools.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/agd-tools.js rename to a3p-integration/proposals/n:upgrade-next/agd-tools.js diff --git a/a3p-integration/proposals/e:upgrade-next/initial.test.js b/a3p-integration/proposals/n:upgrade-next/initial.test.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/initial.test.js rename to a3p-integration/proposals/n:upgrade-next/initial.test.js diff --git a/a3p-integration/proposals/e:upgrade-next/localchain.test.js b/a3p-integration/proposals/n:upgrade-next/localchain.test.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/localchain.test.js rename to a3p-integration/proposals/n:upgrade-next/localchain.test.js diff --git a/a3p-integration/proposals/e:upgrade-next/package.json b/a3p-integration/proposals/n:upgrade-next/package.json similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/package.json rename to a3p-integration/proposals/n:upgrade-next/package.json diff --git a/a3p-integration/proposals/e:upgrade-next/prepare.sh b/a3p-integration/proposals/n:upgrade-next/prepare.sh similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/prepare.sh rename to a3p-integration/proposals/n:upgrade-next/prepare.sh diff --git a/a3p-integration/proposals/e:upgrade-next/priceFeed-follower-auction.test.js b/a3p-integration/proposals/n:upgrade-next/priceFeed-follower-auction.test.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/priceFeed-follower-auction.test.js rename to a3p-integration/proposals/n:upgrade-next/priceFeed-follower-auction.test.js diff --git a/a3p-integration/proposals/e:upgrade-next/provisionPool.test.js b/a3p-integration/proposals/n:upgrade-next/provisionPool.test.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/provisionPool.test.js rename to a3p-integration/proposals/n:upgrade-next/provisionPool.test.js diff --git a/a3p-integration/proposals/e:upgrade-next/synthetic-chain-excerpt.js b/a3p-integration/proposals/n:upgrade-next/synthetic-chain-excerpt.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/synthetic-chain-excerpt.js rename to a3p-integration/proposals/n:upgrade-next/synthetic-chain-excerpt.js diff --git a/a3p-integration/proposals/e:upgrade-next/test.sh b/a3p-integration/proposals/n:upgrade-next/test.sh similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/test.sh rename to a3p-integration/proposals/n:upgrade-next/test.sh diff --git a/a3p-integration/proposals/e:upgrade-next/tsconfig.json b/a3p-integration/proposals/n:upgrade-next/tsconfig.json similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/tsconfig.json rename to a3p-integration/proposals/n:upgrade-next/tsconfig.json diff --git a/a3p-integration/proposals/e:upgrade-next/vatDetails.js b/a3p-integration/proposals/n:upgrade-next/vatDetails.js similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/vatDetails.js rename to a3p-integration/proposals/n:upgrade-next/vatDetails.js diff --git a/a3p-integration/proposals/e:upgrade-next/yarn.lock b/a3p-integration/proposals/n:upgrade-next/yarn.lock similarity index 100% rename from a3p-integration/proposals/e:upgrade-next/yarn.lock rename to a3p-integration/proposals/n:upgrade-next/yarn.lock From 32163eac95da2562db1b00e3eb6695ea423c7be4 Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Tue, 10 Sep 2024 12:06:02 -0700 Subject: [PATCH 4/4] docs: link upgrade.go --- a3p-integration/proposals/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/a3p-integration/proposals/README.md b/a3p-integration/proposals/README.md index 4c0189293e6..d982ef3e92b 100644 --- a/a3p-integration/proposals/README.md +++ b/a3p-integration/proposals/README.md @@ -79,8 +79,8 @@ 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 a new proposal is merged into agoric-3-proposals, take the proposal name -(the part after the colon) and make it the fromTag value in a3p-integration's -package.json. +(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"`. 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 @@ -99,4 +99,4 @@ which should be maintained: "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.