Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Checklist: 1.4.1 #1398

Closed
16 of 38 tasks
xlc opened this issue Sep 6, 2021 · 2 comments
Closed
16 of 38 tasks

Release Checklist: 1.4.1 #1398

xlc opened this issue Sep 6, 2021 · 2 comments
Assignees

Comments

@xlc
Copy link
Member

xlc commented Sep 6, 2021

New Release Details:

Summary generated with srtool v0.9.16 using the docker image paritytech/srtool:1.53.0:
 Package     : karura-runtime v1.4.1
 GIT commit  : b7c197530dbd0847ab03b6ab9498ddac994cc864
 GIT tag     : 1.3.1
 GIT branch  : release-karura-1.4.1
 Rustc       : rustc 1.53.0 (53cb7b09b 2021-06-17)
 Time        : 2021-09-07T08:43:26Z

== Compact
 Version     : karura-1009 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 2.85 MB (2985789 bytes)
 Proposal    : 0x6ef3d44b11568f1f5adfa29d8d37bcb320de4f201c30f827bf199331dbd849b0
 IPFS        : QmRQd5SxCdZxtvwF6QoMfHsxsY4YA7dpbJJDJQgA8SjMui
 BLAKE2_256  : 0xe5da935f798926384db1ef904eace97a6ac6712cfd0bc36533e5004d5ad8637e
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.wasm

== Compressed
 Version     : karura-1009 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 791.16 KB (810144 bytes)
 Compression : 72.87%
 Proposal    : 0x8c3cf17fcc74571763ca4d859b7af4e0f6c4cb1cdb02b8476e2da02ec8abf5a8
 IPFS        : QmatbrQKphSFvoMTnynNyf3gqN3uHnCEVLXntZtT49MnKi
 BLAKE2_256  : 0x98188921a4b151c9897c331654465e0f50909234c33a52b039019bd7cac618e1
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.compressed.wasm
  • subwasm info
🏋️  Runtime size:		0.773 MB (810,144 bytes)
🗜  Compressed:			Yes, 72.87%
✨ Reserved meta:		OK - [6D, 65, 74, 61]
🎁 Metadata version:		V13
🔥 Core version:		karura-1009 (karura-0.tx1.au1)
🗳️  system.setCode hash:		0x8c3cf17fcc74571763ca4d859b7af4e0f6c4cb1cdb02b8476e2da02ec8abf5a8
🗳️  authorizeUpgrade hash:	0x8e56286bb78743dc59cc8b75d56feffb6c7479a520dfc70cc7548c82c84f9f78
#️⃣  Blake2-256 hash:		0x98188921a4b151c9897c331654465e0f50909234c33a52b039019bd7cac618e1
📦 IPFS:			https://www.ipfs.io/ipfs/QmatbrQKphSFvoMTnynNyf3gqN3uHnCEVLXntZtT49MnKi

Client Release

  • Verify client Cargo.toml version has been incremented since the last release.
    • Current version: 1.4.1
    • Last version: 1.3.1
  • Check the new client have run on the network without issue for at lease 12 hours.
  • Check new docker image has been published.
  • Check new client is able to sync from scratch
    • docker run --rm acala/karura-node:latest --chain=karura -- --chain=dev

Runtime Release

  • Verify spec_version has been incremented since the last release.
    • Current version: 1009
    • Last version: 1008
  • Verify completed migrations are removed from any public networks.
  • Review subwasm diff
    • subwasm diff wss://karura-rpc-2.aca-api.network/ws karura_runtime.compact.compressed.wasm
  • Verify extrinsic ordering has stayed the same. Bump transaction_version if not.
    • ORML
    • Substrate
    • Cumulus
    • Polkadot
    • Acala
  • Verify new extrinsics have been correctly whitelisted/blacklisted for proxy filters.
  • Verify benchmarks & weights have been updated for any modified runtime logics.
  • Verify we included all the necessary migrations.
    • ORML
    • Substrate
    • Cumulus
    • Polkadot
    • Acala
  • Verify new migrations complete successfully and the runtime state is correctly updated for any public networks.
    • Verify the execution time to perform runtime upgrade with Karura/Acala onchain data.
  • Ensure WASM is reproducible
    • make srtool-build-wasm-karura

All Releases

  • Check new Github release is created with release logs.

Post Release

  • Notify Discord announcement channel.
  • Ensure our own nodes are updated

Compatibility Checklist

SDK & Tools

  • acala.js
  • txwrapper
  • sidecar
  • acala-subql
  • oracle dispatcher

dApps & Wallets

  • polkadot apps
  • Acala dApp
  • Polkawallet

Other

  • Exchanges
  • Gauntlet
  • Faucet (for Mandala)
@xlc xlc added the a-release label Sep 6, 2021
@xlc xlc changed the title Release Checklist: 1.4.0 Release Checklist: 1.4.1 Sep 7, 2021
@xlc
Copy link
Member Author

xlc commented Sep 8, 2021

 $ subwasm diff wss://karura-rpc-2.aca-api.network/ws karura-1009.wasm
Running subwasm v0.14.0
  🅰️  Chain(OnchainBlock { endpoint: WebSocket("wss://karura-rpc-2.aca-api.network/ws"), block_ref: None })
  🅱️  File("karura-1009.wasm")
  🅰️  0.761 MB (798,003 bytes)
  🅱️  0.773 MB (810,144 bytes)
Checking metadata versions:
  ✅ Both metadata versions are identical: V13
Checking core versions:
  ❌ The 2 core versions are different:
  🅰️  karura-1008 (karura-0.tx1.au1)
  🅱️  karura-1009 (karura-0.tx1.au1)
Checking runtime metadata:
  ❌  The metadata are different
Comparing V13 with V13
🛠  modules.0.constants.4.value.                       "186B6172757261186B617275726101000000F00300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000" --> "186B6172757261186B617275726101000000F10300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000"
🛠  modules.2.constants.                                                 "" --> [{"documentation":[" The maximum weight that may be scheduled per block for any dispatchables of less priority"," than `schedule::HARD_DEADLINE`."],"name":"MaximumWeight","ty":"Weight","value":"00743BA40B000000"},{"documentation":[" The maximum number of scheduled calls in the queue for a single block."," Not strictly enforced, but used for weight estimation."],"name":"MaxScheduledPerBlock","ty":"u32","value":"0A000000"}]
🛠  modules.3.constants.                                                 "" --> [{"documentation":[" The limit on the number of batched calls."],"name":"batched_calls_limit","ty":"u32","value":"822D0000"}]
🛠  modules.3.errors.                                                    "" --> [{"documentation":[" Too many calls batched."],"name":"TooManyCalls"}]
🛠  modules.5.storage.entries.0.ty.Map.value.          "(BoundedVec<ProxyDefinition<T::AccountId, T::ProxyType, T::\n BlockNumber>, T::MaxProxies,>, BalanceOf<T>)" --> "(BoundedVec<ProxyDefinition<T::AccountId, T::ProxyType, T::\n BlockNumber>, T::MaxProxies>, BalanceOf<T>,)"
🛠  modules.5.storage.entries.1.ty.Map.value.          "(BoundedVec<Announcement<T::AccountId, CallHashOf<T>, T::\n BlockNumber>, T::MaxPending,>, BalanceOf<T>,)" --> "(BoundedVec<Announcement<T::AccountId, CallHashOf<T>, T::\n BlockNumber>, T::MaxPending>, BalanceOf<T>,)"
🛠  modules.17.constants.                                                "" --> [{"documentation":[" The number of blocks back we should accept uncles."," This means that we will deal with uncle-parents that are"," `UncleGenerations + 1` before `now`."],"name":"UncleGenerations","ty":"T::BlockNumber","value":"00000000"}]
🛠  modules.27.calls.0.arguments.2.ty.                      "MultiLocation" --> "Box<MultiLocation>"
🛠  modules.27.calls.1.arguments.0.ty.                         "MultiAsset" --> "Box<MultiAsset>"
🛠  modules.27.calls.1.arguments.1.ty.                      "MultiLocation" --> "Box<MultiLocation>"
🛠  modules.29.calls.0.arguments.0.ty.                      "MultiLocation" --> "Box<MultiLocation>"
🛠  modules.29.calls.0.arguments.1.ty.                            "Xcm<()>" --> "Box<Xcm<()>>"
🛠  modules.30.calls.2.arguments.0.ty.                   "T::PalletsOrigin" --> "Box<T::PalletsOrigin>"
🛠  modules.30.calls.3.arguments.0.ty.                   "T::PalletsOrigin" --> "Box<T::PalletsOrigin>"
🛠  modules.30.calls.4.arguments.0.ty.                   "T::PalletsOrigin" --> "Box<T::PalletsOrigin>"
🛠  modules.39.constants.4.name.                       "FastTrackVotingPeriod" --> "InstantAllowed"
🛠  modules.39.constants.4.ty.                             "T::BlockNumber" --> "bool"
🛠  modules.39.constants.4.value.                                "84030000" --> "01"
🛠  modules.39.constants.5.name.                            "CooloffPeriod" --> "FastTrackVotingPeriod"
🛠  modules.39.constants.5.value.                                "E0C40000" --> "84030000"
🛠  modules.39.constants.6.name.                       "PreimageByteDeposit" --> "CooloffPeriod"
🛠  modules.39.constants.6.ty.                               "BalanceOf<T>" --> "T::BlockNumber"
🛠  modules.39.constants.6.value.                      "00A3E111000000000000000000000000" --> "E0C40000"
🛠  modules.39.constants.7.name.                                 "MaxVotes" --> "PreimageByteDeposit"
🛠  modules.39.constants.7.ty.                                        "u32" --> "BalanceOf<T>"
🛠  modules.39.constants.7.value.                                "64000000" --> "00A3E111000000000000000000000000"
🛠  modules.39.errors.2.name.                                    "BadIndex" --> "AlreadyCanceled"
🛠  modules.39.errors.3.name.                             "AlreadyCanceled" --> "DuplicateProposal"
🛠  modules.39.errors.4.name.                           "DuplicateProposal" --> "ProposalBlacklisted"
🛠  modules.39.errors.5.name.                          "ProposalBlacklisted" --> "NotSimpleMajority"
🛠  modules.39.errors.6.name.                           "NotSimpleMajority" --> "InvalidHash"
🛠  modules.39.errors.7.name.                                 "InvalidHash" --> "NoProposal"
🛠  modules.39.errors.8.name.                                  "NoProposal" --> "AlreadyVetoed"
🛠  modules.39.errors.9.name.                               "AlreadyVetoed" --> "DuplicatePreimage"
🛠  modules.39.errors.10.name.                               "NotDelegated" --> "NotImminent"
🛠  modules.39.errors.11.name.                          "DuplicatePreimage" --> "TooEarly"
🛠  modules.39.errors.12.name.                                "NotImminent" --> "Imminent"
🛠  modules.39.errors.13.name.                                   "TooEarly" --> "PreimageMissing"
🛠  modules.39.errors.14.name.                                   "Imminent" --> "ReferendumInvalid"
🛠  modules.39.errors.15.name.                            "PreimageMissing" --> "PreimageInvalid"
🛠  modules.39.errors.16.name.                          "ReferendumInvalid" --> "NoneWaiting"
🛠  modules.39.errors.17.name.                            "PreimageInvalid" --> "NotVoter"
🛠  modules.39.errors.18.name.                                "NoneWaiting" --> "NoPermission"
🛠  modules.39.errors.19.name.                                  "NotLocked" --> "AlreadyDelegating"
🛠  modules.39.errors.20.name.                                 "NotExpired" --> "InsufficientFunds"
🛠  modules.39.errors.21.name.                                   "NotVoter" --> "NotDelegating"
🛠  modules.39.errors.22.name.                               "NoPermission" --> "VotesExist"
🛠  modules.39.errors.23.name.                          "AlreadyDelegating" --> "InstantNotAllowed"
🛠  modules.39.errors.24.name.                          "InsufficientFunds" --> "Nonsense"
🛠  modules.39.errors.25.name.                              "NotDelegating" --> "WrongUpperBound"
🛠  modules.39.errors.26.name.                                 "VotesExist" --> "MaxVotesReached"
🛠  modules.39.errors.27.name.                          "InstantNotAllowed" --> "TooManyProposals"
🗑  modules.39.errors.28.                              {"documentation":[" Delegation to oneself makes no sense."],"name":"Nonsense"}
🗑  modules.39.errors.29.                              {"documentation":[" Invalid upper bound."],"name":"WrongUpperBound"}
🗑  modules.39.errors.30.                              {"documentation":[" Maximum number of votes reached."],"name":"MaxVotesReached"}
🗑  modules.39.errors.31.                              {"documentation":[" The provided witness data is wrong."],"name":"InvalidWitness"}
🗑  modules.39.errors.32.                              {"documentation":[" Maximum number of proposals reached."],"name":"TooManyProposals"}
🛠  modules.39.event.7.arguments.1.                                  "bool" --> "DispatchResult"
🛠  modules.39.event.16.arguments.0.                            "AccountId" --> "Hash"
🛠  modules.39.event.16.name.                                    "Unlocked" --> "Blacklisted"
🗑  modules.39.event.17.                               {"arguments":["Hash"],"documentation":[" A proposal \\[hash\\] has been blacklisted permanently."],"name":"Blacklisted"}
🛠  modules.40.event.0.arguments.0.                          "T::AccountId" --> "AccountId"
🛠  modules.40.event.0.arguments.1.                    "Vec<(T::OracleKey, T::OracleValue)>" --> "Vec<(OracleKey, OracleValue)>"
🛠  modules.42.event.0.arguments.0.                          "T::AuctionId" --> "AuctionId"
🛠  modules.42.event.0.arguments.1.                          "T::AccountId" --> "AccountId"
🛠  modules.42.event.0.arguments.2.                            "T::Balance" --> "Balance"
🛠  modules.53.calls.2.arguments.0.name.                          "new_cap" --> "by_amount"
🛠  modules.53.calls.2.arguments.0.ty.                            "Balance" --> "AmountOf<T>"
🛠  modules.53.calls.2.name.                              "set_minting_cap" --> "adjust_total_staking_currency"
🛠  modules.53.calls.3.arguments.0.name.                  "xcm_dest_weight" --> "new_cap"
🛠  modules.53.calls.3.arguments.0.ty.                             "Weight" --> "Balance"
🛠  modules.53.calls.3.name.                           "set_xcm_dest_weight" --> "set_minting_cap"
Changes:
- unmodified	= 61.45% (279)
- added		=  4.63% (21)
- modified	= 31.72% (144)
- removed	=  2.20% (10)
Skipped:
- documentation	=    82
- bytes		=     0

@xlc
Copy link
Member Author

xlc commented Sep 8, 2021

homa_lite.adjust_total_staking_currency changes the extrinsic index for set_minting_cap and set_xcm_dest_weight. Should be ok this time.

@xlc xlc closed this as completed Sep 14, 2021
@xlc xlc mentioned this issue Sep 15, 2021
34 tasks
@xlc xlc added the a-release label Dec 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants