mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-21 21:25:41 +00:00
Squashed 'bridges/' changes from 23dda62482..407bf44a8a
407bf44a8a add missing license header (#1204) 9babb19810 Custom relay strategy (#1198) c287872a11 fix clippy things (#1200) 3a40e62789 Expose some const value and type (#1186) 32b61476d1 increase sleep before connectingMillau (#1195) aabe7041fa revert messages transactions mortality (#1194) 3651f4f909 Message transactions mortality (#1191) 364d6e155d Bump dependencies (#1180) f0389acc08 cargo +nightly fmt --all (#1192) b270b6a016 Unify error enums in substrate and ethereum clients with `thiserror` (#1094) 58c4946f74 Limit max call size of Rialto/Millau runtimes (#1187) fd56a8cd56 Add UI to the deployment (#1047) 16f01dc736 Westend -> Millau alerts are pending before notifications are sent (#1184) 5628c11ece replace collective flip with babe randomness in Rialto (#1188) 1094a63b00 ignore another (pretty bad) RUSTSEC (#1185) 379fe323ea fix/ignore cargo deny issues (#1183) 92af5e6e64 additional log in finality relay + rephrase "failed" (#1182) b996a3b681 Rialto parachain in test deployments (#1178) 28d9332b44 Resubmit transactions strategy for Polkadot/Kusama (#1175) d0172c6847 Playing with CI (#1179) fb6f42456d fix checks order when registering parachain (#1177) ee828c005a Register-parachain subcommand of substrate-relay (#1170) 8cd2b1a112 Token swap pallet benchmarks (#1174) bb811accb1 fix collision with westend bridge (#1172) 8d2fba70ed add token swaps to test deployments (#1169) b6d1bdfe2c publish rialto parachain collator image (#1171) 834ae4a10a Fix OutboundLaneData types (#1159) 5ee0ea1626 copypasted -> copied (#1168) c3bb835f18 fix spelling (#1167) f90d041dc9 Upgrade `jsonrpsee` to v0.3 (#1051) 598c9b6d0d add some basic tests for swap tokens (#1164) 05e88c61f5 publish images when tag of specific format(e.g. v2021-09-27 + v2021-09-27-1) is published (#1166) 7f3f94a6e0 Fix CI again (#1165) ff37de332f Move calculation relayer reward into `MessageDeliveryAndDispatchPayment` (#1153) 36fbba839b fix clippy warning (#1163) 16da44d018 explicit wasm build (#1158) c9c8226449 Match substrate's fmt (#1148) 2fdd7f3e5e Fix/ignore clippy warnings (#1157) 43dfcc2686 Adding LookupAddress (#1156) 951eaa5582 Add rialto-parachain runtime and node (#1142) 803d266d61 Rename MessageId -> BridgeMessageId (#1152) 5f234484fc Box large arguments of GRANDPA pallet (#1154) cf9abc1011 Fix spelling (#1150) ab83ba2e58 Relay subcommand that performs token RLT <> MLAU token swap (#1141) 832536caf0 Polkadot <> Kusama relayers (#1122) 6d0daa8975 Add `OnMessageAccepted` callback (#1134) 5d03a20b3e Integrate token swap pallet into Millau runtime (#1099) ea4cfa833e Adding MultiAddress type and ValidationCodeHash (#1139) c20325a784 Add tests for `Raw` and `BridgeSendMessage` enum `Call` variants (#1125) 6d802416e2 increase pause before pining Rialto nodes (#1137) b54fa56b62 calculate fee using full message payload (#1132) ca5d8178f5 Add parachain pallets to rialto runtime (#1053) 9eaae4142e fix transaction resubmitter limits for Millau -> Rialto transactions (#1135) 9d4e17783c add --mandatory-headers-only cli option to complex relay (#1129) 1c5e0ec1cb Add local CI info to README (#1131) a8e0929e14 chore: spellchecker fixes (#1130) 3b8e2118e3 set fee for importing mandatory headers to zero (#1127) 49bba9aa52 another bunch of words for spellchecker (#1128) 8a72eafef6 Increase pause before messages generation start (#1126) 1f0ba9a191 Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain (#1087) 74bc1a5b54 Transactions resubmitter (#1083) 21ba001f26 log max balance drop when sending message (#1117) 638a7ddffa Code Cleaning (#1124) be6555c51b Fix buildah logout (#1120) 87539c4a98 Format code work (#1116) 526fe7fdd7 fix spelling (#1119) bd4ce7f241 Fix spelling (#1118) 3c1147858e added missing constants to Kusama/Polkadot primitives (#1114) 52093b22ab Fix delivery transaction estimation used by rational relayer (#1109) 77a2f2fbed Remove fund account checks from upgrade. (#1111) 824334802b Rename param and update comment (#1108) d7784bfe06 Fix spellcheck (#1110) 0b18f5906a Refactor substrate messages source and substrate messages target (#1105) b27240bbff fix compilation (#1107) 9697da4fe8 Emit mortal transactions from relay (#1073) b29396c077 Change vault vars type to env vars (#1084) 35e0bbdc0c Make clippy mandatory. (#1103) a517e8541f Remove unused deps (#1102) 873dae608a Remove unnessary deps (#1101) 13450b74ee Stored conversion rate updater (#1005) 74389829f3 [BREAKING] Migrate messages pallet to frame v2 (#1088) 424da938dd README fix (#1100) 865744c909 upgrade currency exchange pallet to frame v2 (#1097) b5038148b3 Add missing docs (#1095) 0791e911c1 Common crate for substrate-relay (#1082) 3834c9d880 Update high-level-overview.md (#1093) c93553face Increase the time window for messaging alerts. (#1092) 8b9cc3cecd migrate pallet-shift-session-manager to frame v2 (#1090) dc91813c22 migrate eth PoA pallet to frame v2 (#1091) f16bb098cc Migrate dispatch pallet to frame v2 (#1089) 19f4325348 Bridge/This Chain Ids should be exposed as constants on pallet level. (#1085) 6381122df7 Change ChainSpec::from_genesis for Rialto and Millau chains to reflect the chain names. (#1079) 0f1d33e973 Make CI happy again (#1086) 238e65d96f fix typo (#1080) fc008457b6 Token-swap-over-bridge pallet (#944) 3fb97fa5ef Fix full spellcheck (#1076) eae4ed7170 fixed wrong trace (#1075) 219a0fad04 merge two weight-related loops in messages pallet (#1071) fc85632fdb increase_message_fee depends on stored mesage size (#1066) 530f37a23b companion for https://github.com/paritytech/polkadot/pull/3507 (#1067) 53b8cba683 sc_basic_authorship=trace for millau nodes (#1074) 9874e05e98 Improve traces of message generator scripts (#1069) 7b5ee84fbb extract message_details impl into runtime common (#1070) 5a4aed5a8b refund weight for mot pruning messages (#1062) 90e3d1e111 Fix Westend -> Millau sync (#1064) 427d30ddfc When restarting client, also "restart" tokio runtime (#1065) d47c05eeef Change get pipeline sensitive variables from Vault instead of GitLab settings (#1063) d775a85415 use tokio reactor to execute jsonrpsee futures (#1061) 15c8cd61cb Use BABE to author blocks on Rialto (previously: Aura) (#1050) 5186293500 Allow reading suri && password override from file (#1059) b506298262 Update jsonrpsee reference (#1049) 1734d00517 enable weight fee adjustent in Rialto/Millau (#1044) 607265afae Pay dispatch fee at target chain cli option (#1043) ce79ef91be bump dependencies before start referencing polkadot repo (#1048) 924fa24f6d Cli option for greedy relayer + run no-losses relayer by default (#1042) e21eba7b59 Yrong README Fixup + M1 Fixes (#1045) 20d08204a2 Confirm delivery detects when more than expected messages are confirmed (#1039) 994b846b52 pre and post dispatch weights of OnDeliveryConfirmed callback (#1040) 1dd5297e84 give real value to Rialto and Millau tokens (#1038) 035bee8715 Use real conversion rate in greedy relayer strategy (#1035) 9cfaecd0f7 fixed metrics prefix (#1037) 1d8d224937 Use kebab-case for bridge arguments (#1036) f30a4c79a6 Shared reference to conversion rate metric value (#1034) c34d7a5cbb estimate transaction fee (#1015) 93404b18bb change alert period from 2m to 10m for Westend -> Millau (GRANDPA or public node itself is lagging sometimes) (#1032) git-subtree-dir: bridges git-subtree-split: 407bf44a8a5f4e60aceef2dc755cd9ff09929ac3
This commit is contained in:
Vendored
-1
@@ -1 +0,0 @@
|
||||
bridges/* @tomusdrw @svyatonik @hcastano
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- It would help if you submit info about the system you are running, e.g.: operating system, kernel version, amount of available memory and swap, etc.
|
||||
- Logs could be very helpful. If possible, submit the whole log. Please format it as ```code blocks```.
|
||||
- Describe the role your node plays, e.g. validator, full node or light client.
|
||||
- Any command-line options were passed?
|
||||
-143
@@ -1,143 +0,0 @@
|
||||
---
|
||||
name: Release issue template
|
||||
about: Tracking issue for new releases
|
||||
title: Polkadot {{ env.VERSION }} Release checklist
|
||||
---
|
||||
# Release Checklist
|
||||
|
||||
This is the release checklist for Polkadot {{ env.VERSION }}. **All** following
|
||||
checks should be completed before publishing a new release of the
|
||||
Polkadot/Kusama/Westend runtime or client. The current release candidate can be
|
||||
checked out with `git checkout release-{{ env.VERSION }}`
|
||||
|
||||
### Runtime Releases
|
||||
|
||||
These checks should be performed on the codebase prior to forking to a release-
|
||||
candidate branch.
|
||||
|
||||
- [ ] Verify [`spec_version`](#spec-version) has been incremented since the
|
||||
last release for any native runtimes from any existing use on public
|
||||
(non-private/test) networks.
|
||||
- [ ] Verify previously [completed migrations](#old-migrations-removed) are
|
||||
removed for any public (non-private/test) networks.
|
||||
- [ ] Verify pallet and [extrinsic ordering](#extrinsic-ordering) has stayed
|
||||
the same. Bump `transaction_version` if not.
|
||||
- [ ] Verify new extrinsics have been correctly whitelisted/blacklisted for
|
||||
[proxy filters](#proxy-filtering).
|
||||
- [ ] Verify [benchmarks](#benchmarks) have been updated for any modified
|
||||
runtime logic.
|
||||
|
||||
The following checks can be performed after we have forked off to the release-
|
||||
candidate branch or started an additional release candidate branch (rc-2, rc-3, etc)
|
||||
|
||||
- [ ] Verify [new migrations](#new-migrations) complete successfully, and the
|
||||
runtime state is correctly updated for any public (non-private/test)
|
||||
networks.
|
||||
- [ ] Verify [Polkadot JS API](#polkadot-js) are up to date with the latest
|
||||
runtime changes.
|
||||
- [ ] Push runtime upgrade to Westend and verify network stability.
|
||||
|
||||
### All Releases
|
||||
|
||||
- [ ] Check that the new client versions have [run on the network](#burn-in)
|
||||
without issue for 12 hours.
|
||||
- [ ] Check that a draft release has been created at
|
||||
https://github.com/paritytech/polkadot/releases with relevant [release
|
||||
notes](#release-notes)
|
||||
- [ ] Check that [build artifacts](#build-artifacts) have been added to the
|
||||
draft-release
|
||||
|
||||
## Notes
|
||||
|
||||
### Burn In
|
||||
|
||||
Ensure that Parity DevOps has run the new release on Westend, Kusama, and
|
||||
Polkadot validators for at least 12 hours prior to publishing the release.
|
||||
|
||||
### Build Artifacts
|
||||
|
||||
Add any necessary assets to the release. They should include:
|
||||
|
||||
- Linux binary
|
||||
- GPG signature of the Linux binary
|
||||
- SHA256 of binary
|
||||
- Source code
|
||||
- Wasm binaries of any runtimes
|
||||
|
||||
### Release notes
|
||||
|
||||
The release notes should list:
|
||||
|
||||
- The priority of the release (i.e., how quickly users should upgrade) - this is
|
||||
based on the max priority of any *client* changes.
|
||||
- Which native runtimes and their versions are included
|
||||
- The proposal hashes of the runtimes as built with
|
||||
[srtool](https://gitlab.com/chevdor/srtool)
|
||||
- Any changes in this release that are still awaiting audit
|
||||
|
||||
The release notes may also list:
|
||||
|
||||
- Free text at the beginning of the notes mentioning anything important
|
||||
regarding this release
|
||||
- Notable changes (those labelled with B[1-9]-* labels) separated into sections
|
||||
|
||||
### Spec Version
|
||||
|
||||
A runtime upgrade must bump the spec number. This may follow a pattern with the
|
||||
client release (e.g. runtime v12 corresponds to v0.8.12, even if the current
|
||||
runtime is not v11).
|
||||
|
||||
### Old Migrations Removed
|
||||
|
||||
Any previous `on_runtime_upgrade` functions from old upgrades must be removed
|
||||
to prevent them from executing a second time. The `on_runtime_upgrade` function
|
||||
can be found in `runtime/<runtime>/src/lib.rs`.
|
||||
|
||||
### New Migrations
|
||||
|
||||
Ensure that any migrations that are required due to storage or logic changes
|
||||
are included in the `on_runtime_upgrade` function of the appropriate pallets.
|
||||
|
||||
### Extrinsic Ordering
|
||||
|
||||
Offline signing libraries depend on a consistent ordering of call indices and
|
||||
functions. Compare the metadata of the current and new runtimes and ensure that
|
||||
the `module index, call index` tuples map to the same set of functions. In case
|
||||
of a breaking change, increase `transaction_version`.
|
||||
|
||||
To verify the order has not changed:
|
||||
|
||||
1. Download the latest release-candidate binary either from the draft-release
|
||||
on Github, or
|
||||
[AWS](https://releases.parity.io/polkadot/x86_64-debian:stretch/{{ env.VERSION }}-rc1/polkadot)
|
||||
(adjust the rc in this URL as necessary).
|
||||
2. Run the release-candidate binary using a local chain:
|
||||
`./polkadot --chain=polkadot-local` or `./polkadot --chain=kusama.local`
|
||||
3. Use [`polkadot-js-tools`](https://github.com/polkadot-js/tools) to compare
|
||||
the metadata:
|
||||
- For Polkadot: `docker run --network host jacogr/polkadot-js-tools metadata wss://rpc.polkadot.io ws://localhost:9944`
|
||||
- For Kusama: `docker run --network host jacogr/polkadot-js-tools metadata wss://kusama-rpc.polkadot.io ws://localhost:9944`
|
||||
4. Things to look for in the output are lines like:
|
||||
- `[Identity] idx 28 -> 25 (calls 15)` - indicates the index for `Identity` has changed
|
||||
- `[+] Society, Recovery` - indicates the new version includes 2 additional modules/pallets.
|
||||
- If no indices have changed, every modules line should look something like `[Identity] idx 25 (calls 15)`
|
||||
|
||||
Note: Adding new functions to the runtime does not constitute a breaking change
|
||||
as long as they are added to the end of a pallet (i.e., does not break any
|
||||
other call index).
|
||||
|
||||
### Proxy Filtering
|
||||
|
||||
The runtime contains proxy filters that map proxy types to allowable calls. If
|
||||
the new runtime contains any new calls, verify that the proxy filters are up to
|
||||
date to include them.
|
||||
|
||||
### Benchmarks
|
||||
|
||||
Run the benchmarking suite with the new runtime and update any function weights
|
||||
if necessary.
|
||||
|
||||
### Polkadot JS
|
||||
|
||||
Ensure that a release of [Polkadot JS API]() contains any new types or
|
||||
interfaces necessary to interact with the new runtime.
|
||||
Vendored
+40
-15
@@ -1,17 +1,42 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "cargo"
|
||||
directory: "/"
|
||||
labels: ["A2-insubstantial", "B0-silent", "C1-low 📌"]
|
||||
# Handle updates for crates from github.com/paritytech/substrate manually.
|
||||
ignore:
|
||||
- dependency-name: "substrate-*"
|
||||
- dependency-name: "sc-*"
|
||||
- dependency-name: "sp-*"
|
||||
- dependency-name: "frame-*"
|
||||
- dependency-name: "fork-tree"
|
||||
- dependency-name: "pallet-*"
|
||||
- dependency-name: "beefy-*"
|
||||
- dependency-name: "try-runtime-*"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: cargo
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
time: "03:00"
|
||||
timezone: Europe/Berlin
|
||||
open-pull-requests-limit: 20
|
||||
ignore:
|
||||
- dependency-name: frame-*
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: node-inspect
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: pallet-*
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: sc-*
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: sp-*
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: substrate-*
|
||||
versions:
|
||||
- ">= 0"
|
||||
- dependency-name: vergen
|
||||
versions:
|
||||
- 4.0.1
|
||||
- 4.0.2
|
||||
- 4.1.0
|
||||
- 4.2.0
|
||||
- dependency-name: jsonrpc-core
|
||||
versions:
|
||||
- 17.0.0
|
||||
- dependency-name: finality-grandpa
|
||||
versions:
|
||||
- 0.13.0
|
||||
- 0.14.0
|
||||
rebase-strategy: disabled
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
name: Label PRs
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened,ready_for_review]
|
||||
|
||||
jobs:
|
||||
label-new-prs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label drafts
|
||||
uses: andymckay/labeler@master
|
||||
if: github.event.pull_request.draft == true
|
||||
with:
|
||||
add-labels: 'A3-inprogress'
|
||||
remove-labels: 'A0-pleasereview'
|
||||
- name: Label PRs
|
||||
uses: andymckay/labeler@master
|
||||
if: github.event.pull_request.draft == false && ! contains(github.event.pull_request.labels.*.name, 'A2-insubstantial')
|
||||
with:
|
||||
add-labels: 'A0-pleasereview'
|
||||
remove-labels: 'A3-inprogress'
|
||||
@@ -1,17 +0,0 @@
|
||||
name: Notify devops when burn-in label applied
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
notify-devops:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Notify devops
|
||||
if: github.event.label.name == 'A1-needsburnin'
|
||||
uses: s3krit/matrix-message-action@v0.0.3
|
||||
with:
|
||||
room_id: ${{ secrets.POLKADOT_DEVOPS_MATRIX_ROOM_ID }}
|
||||
access_token: ${{ secrets.POLKADOT_DEVOPS_MATRIX_ACCESS_TOKEN }}
|
||||
message: "@room Burn-in request received for the following PR: ${{ github.event.pull_request.html_url }}"
|
||||
server: "matrix.parity.io"
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
name: Check labels
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled, opened, synchronize, unlabeled]
|
||||
|
||||
jobs:
|
||||
check-labels:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Check labels
|
||||
run: bash ${{ github.workspace }}/scripts/github/check_labels.sh
|
||||
env:
|
||||
GITHUB_PR: ${{ github.event.pull_request.number }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
-84
@@ -1,84 +0,0 @@
|
||||
name: Run nightly fuzzer jobs
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
jobs:
|
||||
erasure-coding-round-trip:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install minimal stable Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
override: true
|
||||
|
||||
- name: Install minimal nightly Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly
|
||||
target: wasm32-unknown-unknown
|
||||
|
||||
- name: Install honggfuzz deps
|
||||
run: sudo apt-get install --no-install-recommends binutils-dev libunwind8-dev
|
||||
|
||||
- name: Install honggfuzz
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: install
|
||||
args: honggfuzz --version "0.5.54"
|
||||
|
||||
- name: Build fuzzer binaries
|
||||
working-directory: erasure-coding/fuzzer
|
||||
run: cargo hfuzz build
|
||||
|
||||
- name: Run fuzzer
|
||||
working-directory: erasure-coding/fuzzer
|
||||
run: bash $GITHUB_WORKSPACE/scripts/github/run_fuzzer.sh round_trip
|
||||
|
||||
erasure-coding-reconstruct:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install minimal stable Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
override: true
|
||||
|
||||
- name: Install minimal nightly Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly
|
||||
target: wasm32-unknown-unknown
|
||||
|
||||
- name: Install honggfuzz deps
|
||||
run: sudo apt-get install --no-install-recommends binutils-dev libunwind8-dev
|
||||
|
||||
- name: Install honggfuzz
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: install
|
||||
args: honggfuzz --version "0.5.54"
|
||||
|
||||
- name: Build fuzzer binaries
|
||||
working-directory: erasure-coding/fuzzer
|
||||
run: cargo hfuzz build
|
||||
|
||||
- name: Run fuzzer
|
||||
working-directory: erasure-coding/fuzzer
|
||||
run: bash $GITHUB_WORKSPACE/scripts/github/run_fuzzer.sh reconstruct
|
||||
@@ -1,43 +0,0 @@
|
||||
name: Publish Docker image for new releases
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
- name: Login to Dockerhub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
file: scripts/docker/release.Dockerfile
|
||||
tags: |
|
||||
parity/polkadot:latest
|
||||
parity/polkadot:${{ github.event.release.tag_name }}
|
||||
build-args: |
|
||||
POLKADOT_VERSION=${{ github.event.release.tag_name }}
|
||||
VCS_REF=${{ github.ref }}
|
||||
BUILD_DATE=${{ github.event.release.published_at }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
@@ -1,145 +0,0 @@
|
||||
name: Publish draft release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
# Catches v1.2.3 and v1.2.3-rc1
|
||||
- v[0-9]+.[0-9]+.[0-9]+*
|
||||
|
||||
jobs:
|
||||
get-rust-versions:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: paritytech/ci-linux:production
|
||||
outputs:
|
||||
rustc-stable: ${{ steps.get-rust-versions.outputs.stable }}
|
||||
rustc-nightly: ${{ steps.get-rust-versions.outputs.nightly }}
|
||||
steps:
|
||||
- id: get-rust-versions
|
||||
run: |
|
||||
echo "::set-output name=stable::$(rustc +stable --version)"
|
||||
echo "::set-output name=nightly::$(rustc +nightly --version)"
|
||||
|
||||
build-runtimes:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
runtime: ['polkadot', 'kusama']
|
||||
container:
|
||||
image: paritytech/srtool:nightly-2021-03-15
|
||||
volumes:
|
||||
- ${{ github.workspace }}:/build
|
||||
env:
|
||||
PACKAGE: ${{ matrix.runtime }}-runtime
|
||||
RUSTC_VERSION: nightly-2020-10-27
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache target dir
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: '${{ github.workspace }}/runtime/${{ matrix.runtime }}/target'
|
||||
key: srtool-target-${{ matrix.runtime }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
srtool-target-${{ matrix.runtime }}-
|
||||
srtool-target-
|
||||
- name: Build ${{ matrix.runtime }} runtime
|
||||
id: build-runtime
|
||||
shell: bash
|
||||
env:
|
||||
srtool_output_filename: ${{ matrix.runtime }}_srtool_output.json
|
||||
run: |
|
||||
cd /build
|
||||
pwd
|
||||
ls -la
|
||||
build --json | tee $srtool_output_filename
|
||||
cat $srtool_output_filename
|
||||
while IFS= read -r line; do
|
||||
echo "::set-output name=$line::$(jq -r ".$line" < $srtool_output_filename)"
|
||||
done <<< "$(jq -r 'keys[]' < $srtool_output_filename)"
|
||||
- name: Upload ${{ matrix.runtime }} srtool json
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.runtime }}-srtool-json
|
||||
path: ${{ matrix.runtime }}_srtool_output.json
|
||||
- name: Upload ${{ matrix.runtime }} runtime
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.runtime }}-runtime
|
||||
path: "${{ steps.build-runtime.outputs.wasm }}"
|
||||
|
||||
publish-draft-release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: ['get-rust-versions', 'build-runtimes']
|
||||
outputs:
|
||||
release_url: ${{ steps.create-release.outputs.html_url }}
|
||||
asset_upload_url: ${{ steps.create-release.outputs.upload_url }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
path: polkadot
|
||||
- name: Set up Ruby 2.7
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Download srtool json output
|
||||
uses: actions/download-artifact@v2
|
||||
- name: Generate release text
|
||||
env:
|
||||
RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }}
|
||||
RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gem install changelogerator git toml
|
||||
ruby $GITHUB_WORKSPACE/polkadot/scripts/github/generate_release_text.rb | tee release_text.md
|
||||
- name: Create draft release
|
||||
id: create-release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Polkadot ${{ github.ref }}
|
||||
body_path: ./release_text.md
|
||||
draft: true
|
||||
publish-runtimes:
|
||||
runs-on: ubuntu-latest
|
||||
needs: ['publish-draft-release']
|
||||
strategy:
|
||||
matrix:
|
||||
runtime: ['polkadot', 'kusama']
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
- name: Set up Ruby 2.7
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Get runtime version
|
||||
id: get-runtime-ver
|
||||
run: |
|
||||
ls
|
||||
ls "${{ matrix.runtime }}-runtime"
|
||||
runtime_ver="$(ruby -e 'require "./scripts/github/lib.rb"; puts get_runtime("${{ matrix.runtime }}")')"
|
||||
echo "::set-output name=runtime_ver::$runtime_ver"
|
||||
- name: Upload ${{ matrix.runtime }} wasm
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ needs.publish-draft-release.outputs.asset_upload_url }}
|
||||
asset_path: "${{ matrix.runtime }}-runtime/${{ matrix.runtime }}_runtime.compact.wasm"
|
||||
asset_name: ${{ matrix.runtime }}_runtime-v${{ steps.get-runtime-ver.outputs.runtime_ver }}.compact.wasm
|
||||
asset_content_type: application/wasm
|
||||
|
||||
post_to_matrix:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish-draft-release
|
||||
steps:
|
||||
- name: Internal polkadot channel
|
||||
uses: s3krit/matrix-message-action@v0.0.2
|
||||
with:
|
||||
room_id: ${{ secrets.INTERNAL_POLKADOT_MATRIX_ROOM_ID }}
|
||||
access_token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
message: "**New version of polkadot tagged**: ${{ github.ref }}<br/>Draft release created: ${{ needs.publish-draft-release.outputs.release_url }}"
|
||||
server: "matrix.parity.io"
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
name: Send new release notification to matrix channels
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
jobs:
|
||||
ping_matrix:
|
||||
strategy:
|
||||
matrix:
|
||||
channel:
|
||||
- '!LhjZccBOqFNYKLdmbb:polkadot.builders' # #KusamaValidatorLounge:polkadot.builders
|
||||
- '!FMwxpQnYhRCNDRsYGI:matrix.parity.io' # #kusama-announcements:matrix.parity.io
|
||||
- '!NZrbtteFeqYKCUGQtr:matrix.parity.io' # #polkadotvalidatorlounge:web3.foundation
|
||||
- '!UqHPWiCBGZWxrmYBkF:matrix.parity.io' # #polkadot-announcements:matrix.parity.io
|
||||
- '!NTogofoetwjbTwOoPi:matrix.parity.io' # Internal release-notes channel
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: s3krit/matrix-message-action@v0.0.3
|
||||
with:
|
||||
room_id: ${{ matrix.channel }} # heh
|
||||
access_token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
message: "***Polkadot ${{github.event.release.tag_name}} has been released!***<br/>${{github.event.release.html_url}}<br/><br/>${{github.event.release.body}}<br/>"
|
||||
server: "matrix.parity.io"
|
||||
@@ -1,57 +0,0 @@
|
||||
name: Release-candidate automation
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release-v[0-9]+.[0-9]+.[0-9]+
|
||||
jobs:
|
||||
tag_rc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- id: compute_tag
|
||||
name: Compute next rc tag
|
||||
shell: bash
|
||||
run: |
|
||||
# Get last rc tag if exists, else set it to {version}-rc1
|
||||
version=${GITHUB_REF#refs/heads/release-}
|
||||
echo "$version"
|
||||
echo "::set-output name=version::$version"
|
||||
git tag -l
|
||||
last_rc=$(git tag -l "$version-rc*" | sort -V | tail -n 1)
|
||||
if [ -n "$last_rc" ]; then
|
||||
suffix=$(echo "$last_rc" | grep -Eo '[0-9]+$')
|
||||
echo $suffix
|
||||
((suffix++))
|
||||
echo $suffix
|
||||
echo "::set-output name=new_tag::$version-rc$suffix"
|
||||
echo "::set-output name=first_rc::false"
|
||||
else
|
||||
echo "::set-output name=new_tag::$version-rc1"
|
||||
echo "::set-output name=first_rc::true"
|
||||
fi
|
||||
- name: Apply new tag
|
||||
uses: tvdias/github-tagger@v0.0.2
|
||||
with:
|
||||
# We can't use the normal GITHUB_TOKEN for the following reason:
|
||||
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
|
||||
# RELEASE_BRANCH_TOKEN requires public_repo OAuth scope
|
||||
repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}"
|
||||
tag: ${{ steps.compute_tag.outputs.new_tag }}
|
||||
- id: create-issue
|
||||
uses: JasonEtco/create-an-issue@v2
|
||||
# Only create the issue if it's the first release candidate
|
||||
if: steps.compute_tag.outputs.first_rc == 'true'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
VERSION: ${{ steps.compute_tag.outputs.version }}
|
||||
with:
|
||||
filename: .github/ISSUE_TEMPLATE/release.md
|
||||
- uses: s3krit/matrix-message-action@v0.0.2
|
||||
if: steps.create-issue.outputs.url != ''
|
||||
with:
|
||||
room_id: ${{ secrets.INTERNAL_POLKADOT_MATRIX_ROOM_ID }}
|
||||
access_token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
server: "matrix.parity.io"
|
||||
message: "Release process for polkadot ${{ steps.compute_tag.outputs.version }} has been started. Tracking issue: ${{ steps.create-issue.outputs.url }}"
|
||||
Reference in New Issue
Block a user