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

Outbound queue v2 #4

Closed
wants to merge 82 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
d359108
Merge from master
yrong Nov 11, 2024
4d6c678
Fix v2 tests
yrong Nov 11, 2024
a72aa5a
Fix compile
yrong Nov 11, 2024
cf8a9c3
Merge branch 'master' into outbound-queue-v2
yrong Nov 14, 2024
056fd7f
Rename to OutboundQueueV2Api
yrong Nov 14, 2024
49837cf
Return raw balance for dry run
yrong Nov 14, 2024
030d95c
Decode account asap
yrong Nov 14, 2024
206b300
Revamp comments for V2
yrong Nov 14, 2024
8b3e178
Custom digest for V2
yrong Nov 14, 2024
a22f0ac
Cleanup imports
yrong Nov 14, 2024
e346bf6
Update bridges/snowbridge/pallets/outbound-queue-v2/src/types.rs
yrong Nov 14, 2024
9847bc9
Clean up with the insert
yrong Nov 14, 2024
fb3b30c
Remove Fee for V2
yrong Nov 14, 2024
83b6ff8
Reorgnize InboundMessage to abi module
yrong Nov 14, 2024
f08e36e
Seperate XcmConverter
yrong Nov 14, 2024
cff1cba
Merge branch 'master' into outbound-queue-v2
yrong Nov 15, 2024
faf25e9
Merge branch 'snowbridge-v2' into outbound-queue-v2
yrong Nov 17, 2024
af928ba
Support multiple commands in one message
yrong Nov 19, 2024
d5ab77b
Rename to InvalidPendingNonce & Cleanup
yrong Nov 19, 2024
f96a6fc
Improve comment
yrong Nov 19, 2024
d4910ea
Fix breaking tests
yrong Nov 20, 2024
7586a28
Merge branch 'snowbridge-v2' into outbound-queue-v2
yrong Nov 20, 2024
8e80315
Remove Inbound-queue V2 completely
yrong Nov 20, 2024
e8951e4
Reorgnize code layout
yrong Nov 20, 2024
2a41399
For Transact
yrong Nov 22, 2024
66afb07
Transact support
yrong Nov 23, 2024
78da35b
Remove irrelevant changes
yrong Nov 24, 2024
4808c36
Validate fee asset is always in WETH
yrong Nov 24, 2024
84cbb93
Check ether value is sufficient
yrong Nov 24, 2024
ec6ceb8
Merge branch 'master' into outbound-queue-v2
yrong Nov 25, 2024
4190bf0
Limited system pallet to only send_governance_call
yrong Nov 25, 2024
40c2e19
Merge branch 'outbound-queue-v2' into outbound-queue-v2-with-transact
yrong Nov 25, 2024
178f50a
Remove agent_id from converter
yrong Nov 26, 2024
bab6b63
Merge branch 'snowbridge-v2' into outbound-queue-v2
yrong Nov 26, 2024
2426e3d
Merge branch 'outbound-queue-v2' into outbound-queue-v2-with-transact
yrong Nov 26, 2024
3f28e6e
Merge branch 'snowbridge-v2' into outbound-queue-v2
yrong Nov 28, 2024
282a883
Merge branch 'outbound-queue-v2' into outbound-queue-v2-with-transact
yrong Nov 28, 2024
aba918d
Fix breaking tests
yrong Nov 28, 2024
a7ced85
Clean up
yrong Nov 28, 2024
5696fdf
Seperate outbound router crates
yrong Nov 28, 2024
7ca9c1b
Merge pull request #8 from yrong/outbound-router-crates
yrong Nov 29, 2024
b6fa9a2
Merge pull request #7 from yrong/outbound-queue-v2-with-transact
yrong Nov 29, 2024
e97e235
Clean up
yrong Nov 29, 2024
992740b
Rename test
yrong Nov 29, 2024
0c8badf
Reorgnize code layout
yrong Nov 29, 2024
8869608
Merge branch 'snowbridge-v2' into outbound-queue-v2
yrong Nov 29, 2024
10dcaf5
More cleanup
yrong Nov 29, 2024
72fb8bd
Expose types from `sc-service` (#5855)
RomarQ Nov 29, 2024
1dd21bc
ci: update nightly in ci-unified to 2024-11-19 (#6691)
alvicsam Nov 29, 2024
b3ab312
Migrate pallet-preimage to benchmark v2 (#6277)
aurexav Nov 29, 2024
447902e
pallet_revive: Switch to 64bit RISC-V (#6565)
athei Nov 29, 2024
1e89a31
Fix runtime api impl detection by construct runtime (#6665)
bkchr Nov 29, 2024
4e7c968
archive: Refactor `archive_storage` method into subscription (#6483)
lexnv Nov 29, 2024
1d519a1
Update scale-info to 2.11.6 (#6681)
pkhry Nov 29, 2024
5ad8780
People chain integration tests (#6377)
rockbmb Nov 29, 2024
8eac4e8
network/libp2p-backend: Suppress warning adding already reserved node…
dmitry-markin Nov 29, 2024
5e0bcb0
Let's be a bit less strict here. (#6662)
eskimor Nov 29, 2024
d1fafa8
[pallet-revive] eth-prc fix geth diff (#6608)
pgherveou Dec 1, 2024
c092133
Bump the ci_dependencies group across 1 directory with 3 updates (#6516)
dependabot[bot] Dec 2, 2024
0845044
migrate pallet-session-benchmarking to bench V2 syntax (#6294)
clangenb Dec 2, 2024
3d8da81
migrate pallet-offences-benchmarking to benchmark v2 syntax (#6300)
clangenb Dec 2, 2024
8f1606e
Rococo People <> Bulletin bridge fixes (#6708)
serban300 Dec 3, 2024
592bb32
[Release/CICD] Re-worked Create Release Draft flow (#6734)
EgorPopelyaev Dec 3, 2024
76a292b
Update parity-publish (#6549)
Morganamilo Dec 3, 2024
c56a98b
pallet-revive-fixtures: Try not to re-create fixture dir (#6735)
athei Dec 3, 2024
d1d92ab
Bump Westend AH (#6583)
pgherveou Dec 3, 2024
896c814
Add publish-check-compile workflow (#6556)
Morganamilo Dec 3, 2024
41a5d8e
`fatxpool`: handling limits and priorities improvements (#6405)
michalkucharczyk Dec 3, 2024
8dfa3c5
Add force_create_agent
yrong Dec 4, 2024
a2ffae3
umbrella: Remove `pallet-revive-fixtures` (#6743)
bkchr Dec 4, 2024
377bc3f
[Release|CI/CD] Add pipeline to promote release candidate from rcX to…
EgorPopelyaev Dec 4, 2024
34632ed
Disable flaky tests reported in #6574/#6644 (#6749)
pepoviola Dec 4, 2024
5ca7267
chore: Update litep2p to v0.8.3 (#6742)
lexnv Dec 4, 2024
2779043
[CI/CD] Fix permissions issue in the backport to stable flow (#6754)
EgorPopelyaev Dec 4, 2024
f540b52
Smoke test for multiple-hop
yrong Dec 4, 2024
82117ad
wasm-builder: Use riscv32emac-unknown-none-polkavm.json target (#6419)
jarkkojs Dec 4, 2024
654d60c
ci: skip check-semver in master and merge queue (#6762)
alvicsam Dec 5, 2024
f4a196a
Optimize initialization of networking protocol benchmarks (#6636)
AndreiEres Dec 5, 2024
1befeed
Fix with more tests
yrong Dec 5, 2024
27403eb
Add BridgeHubDualMessageRouter
yrong Dec 5, 2024
dc31b17
Merge branch 'master' into outbound-queue-v2
yrong Dec 5, 2024
a0fff21
PR doc
yrong Dec 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/env
Original file line number Diff line number Diff line change
@@ -1 +1 @@
IMAGE="docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-09-11-v202409111034"
IMAGE="docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558"
47 changes: 35 additions & 12 deletions .github/scripts/common/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -270,20 +270,19 @@ fetch_debian_package_from_s3() {
}

# Fetch the release artifacts like binary and signatures from S3. Assumes the ENV are set:
# - RELEASE_ID
# - GITHUB_TOKEN
# - REPO in the form paritytech/polkadot
# inputs: binary (polkadot), target(aarch64-apple-darwin)
fetch_release_artifacts_from_s3() {
BINARY=$1
OUTPUT_DIR=${OUTPUT_DIR:-"./release-artifacts/${BINARY}"}
TARGET=$2
OUTPUT_DIR=${OUTPUT_DIR:-"./release-artifacts/${TARGET}/${BINARY}"}
echo "OUTPUT_DIR : $OUTPUT_DIR"

URL_BASE=$(get_s3_url_base $BINARY)
echo "URL_BASE=$URL_BASE"

URL_BINARY=$URL_BASE/$VERSION/$BINARY
URL_SHA=$URL_BASE/$VERSION/$BINARY.sha256
URL_ASC=$URL_BASE/$VERSION/$BINARY.asc
URL_BINARY=$URL_BASE/$VERSION/$TARGET/$BINARY
URL_SHA=$URL_BASE/$VERSION/$TARGET/$BINARY.sha256
URL_ASC=$URL_BASE/$VERSION/$TARGET/$BINARY.asc

# Fetch artifacts
mkdir -p "$OUTPUT_DIR"
Expand All @@ -298,23 +297,34 @@ fetch_release_artifacts_from_s3() {
pwd
ls -al --color
popd > /dev/null

unset OUTPUT_DIR
}

# Pass the name of the binary as input, it will
# return the s3 base url
function get_s3_url_base() {
name=$1
case $name in
polkadot | polkadot-execute-worker | polkadot-prepare-worker | staking-miner)
polkadot | polkadot-execute-worker | polkadot-prepare-worker )
printf "https://releases.parity.io/polkadot"
;;

polkadot-parachain)
printf "https://releases.parity.io/cumulus"
polkadot-parachain)
printf "https://releases.parity.io/polkadot-parachain"
;;

polkadot-omni-node)
printf "https://releases.parity.io/polkadot-omni-node"
;;

*)
chain-spec-builder)
printf "https://releases.parity.io/chain-spec-builder"
;;

frame-omni-bencher)
printf "https://releases.parity.io/frame-omni-bencher"
;;
*)
printf "UNSUPPORTED BINARY $name"
exit 1
;;
Expand Down Expand Up @@ -497,3 +507,16 @@ validate_stable_tag() {
exit 1
fi
}

# Prepare docker stable tag form the polkadot stable tag
# input: tag (polkaodot-stableYYMM(-X) or polkadot-stableYYMM(-X)-rcX)
# output: stableYYMM(-X) or stableYYMM(-X)-rcX
prepare_docker_stable_tag() {
tag="$1"
if [[ "$tag" =~ stable[0-9]{4}(-[0-9]+)?(-rc[0-9]+)? ]]; then
echo "${BASH_REMATCH[0]}"
else
echo "Tag is invalid: $tag"
exit 1
fi
}
66 changes: 61 additions & 5 deletions .github/scripts/release/release_lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,69 @@ upload_s3_release() {
echo "Working on version: $version "
echo "Working on platform: $target "

URL_BASE=$(get_s3_url_base $product)

echo "Current content, should be empty on new uploads:"
aws s3 ls "s3://releases.parity.io/${product}/${version}/${target}" --recursive --human-readable --summarize || true
aws s3 ls "s3://${URL_BASE}/${version}/${target}" --recursive --human-readable --summarize || true
echo "Content to be uploaded:"
artifacts="artifacts/$product/"
artifacts="release-artifacts/$target/$product/"
ls "$artifacts"
aws s3 sync --acl public-read "$artifacts" "s3://releases.parity.io/${product}/${version}/${target}"
aws s3 sync --acl public-read "$artifacts" "s3://${URL_BASE}/${version}/${target}"
echo "Uploaded files:"
aws s3 ls "s3://releases.parity.io/${product}/${version}/${target}" --recursive --human-readable --summarize
echo "✅ The release should be at https://releases.parity.io/${product}/${version}/${target}"
aws s3 ls "s3://${URL_BASE}/${version}/${target}" --recursive --human-readable --summarize
echo "✅ The release should be at https://${URL_BASE}/${version}/${target}"
}

# Upload runtimes artifacts to s3 release bucket
#
# input: version (stable release tage.g. polkadot-stable2412 or polkadot-stable2412-rc1)
# output: none
upload_s3_runtimes_release_artifacts() {
alias aws='podman run --rm -it docker.io/paritytech/awscli -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_BUCKET aws'

version=$1

echo "Working on version: $version "

echo "Current content, should be empty on new uploads:"
aws s3 ls "s3://releases.parity.io/polkadot/runtimes/${version}/" --recursive --human-readable --summarize || true
echo "Content to be uploaded:"
artifacts="artifacts/runtimes/"
ls "$artifacts"
aws s3 sync --acl public-read "$artifacts" "s3://releases.parity.io/polkadot/runtimes/${version}/"
echo "Uploaded files:"
aws s3 ls "s3://releases.parity.io/polkadot/runtimes/${version}/" --recursive --human-readable --summarize
echo "✅ The release should be at https://releases.parity.io/polkadot/runtimes/${version}"
}


# Pass the name of the binary as input, it will
# return the s3 base url
function get_s3_url_base() {
name=$1
case $name in
polkadot | polkadot-execute-worker | polkadot-prepare-worker )
printf "releases.parity.io/polkadot"
;;

polkadot-parachain)
printf "releases.parity.io/polkadot-parachain"
;;

polkadot-omni-node)
printf "releases.parity.io/polkadot-omni-node"
;;

chain-spec-builder)
printf "releases.parity.io/chain-spec-builder"
;;

frame-omni-bencher)
printf "releases.parity.io/frame-omni-bencher"
;;
*)
printf "UNSUPPORTED BINARY $name"
exit 1
;;
esac
}
2 changes: 1 addition & 1 deletion .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.0 (22. Sep 2023)

- name: Lychee link checker
uses: lycheeverse/lychee-action@7cd0af4c74a61395d455af97419279d86aafaede # for v1.9.1 (10. Jan 2024)
uses: lycheeverse/lychee-action@f81112d0d2814ded911bd23e3beaa9dda9093915 # for v1.9.1 (10. Jan 2024)
with:
args: >-
--config .config/lychee.toml
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/check-semver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true

env:
TOOLCHAIN: nightly-2024-10-19
TOOLCHAIN: nightly-2024-11-19

jobs:
preflight:
Expand Down Expand Up @@ -74,10 +74,15 @@ jobs:

- name: install parity-publish
# Set the target dir to cache the build.
run: CARGO_TARGET_DIR=./target/ cargo install parity-publish@0.10.1 --locked -q
run: CARGO_TARGET_DIR=./target/ cargo install parity-publish@0.10.2 --locked -q

- name: check semver
run: |
if [ -z "$PR" ]; then
echo "Skipping master/merge queue"
exit 0
fi

export CARGO_TARGET_DIR=target
export RUSTFLAGS='-A warnings -A missing_docs'
export SKIP_WASM_BUILD=1
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/checks-quick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ jobs:
--exclude
"substrate/frame/contracts/fixtures/build"
"substrate/frame/contracts/fixtures/contracts/common"
"substrate/frame/revive/fixtures/build"
"substrate/frame/revive/fixtures/contracts/common"
- name: deny git deps
run: python3 .github/scripts/deny-git-deps.py .
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/command-backport.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,21 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v2.1.0
- name: Generate content write token for the release automation
id: generate_write_token
uses: actions/create-github-app-token@v1
with:
app_id: ${{ secrets.CMD_BOT_APP_ID }}
private_key: ${{ secrets.CMD_BOT_APP_KEY }}
app-id: ${{ vars.RELEASE_AUTOMATION_APP_ID }}
private-key: ${{ secrets.RELEASE_AUTOMATION_APP_PRIVATE_KEY }}
owner: paritytech

- name: Create backport pull requests
uses: korthout/backport-action@v3
id: backport
with:
target_branches: stable2407 stable2409 stable2412
merge_commits: skip
github_token: ${{ steps.generate_token.outputs.token }}
github_token: ${{ steps.generate_write_token.outputs.token }}
pull_description: |
Backport #${pull_number} into `${target_branch}` from ${pull_author}.

Expand Down Expand Up @@ -86,7 +87,7 @@ jobs:
const reviewer = '${{ github.event.pull_request.user.login }}';

for (const pullNumber of pullNumbers) {
await github.pulls.createReviewRequest({
await github.pulls.requestReviewers({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: parseInt(pullNumber),
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/publish-check-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check publish build

on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
merge_group:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
preflight:
uses: ./.github/workflows/reusable-preflight.yml

check-publish:
timeout-minutes: 90
needs: [preflight]
runs-on: ${{ needs.preflight.outputs.RUNNER }}
container:
image: ${{ needs.preflight.outputs.IMAGE }}
steps:
- uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7

- name: Rust Cache
uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
with:
cache-on-failure: true

- name: install parity-publish
run: cargo install parity-publish@0.10.2 --locked -q

- name: parity-publish update plan
run: parity-publish --color always plan --skip-check --prdoc prdoc/

- name: parity-publish apply plan
run: parity-publish --color always apply --registry

- name: parity-publish check compile
run: |
packages="$(parity-publish apply --print)"

if [ -n "$packages" ]; then
cargo --color always check $(printf -- '-p %s ' $packages)
fi
2 changes: 1 addition & 1 deletion .github/workflows/publish-check-crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
cache-on-failure: true

- name: install parity-publish
run: cargo install parity-publish@0.8.0 --locked -q
run: cargo install parity-publish@0.10.2 --locked -q

- name: parity-publish check
run: parity-publish --color always check --allow-unpublished
2 changes: 1 addition & 1 deletion .github/workflows/publish-claim-crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
cache-on-failure: true

- name: install parity-publish
run: cargo install parity-publish@0.8.0 --locked -q
run: cargo install parity-publish@0.10.2 --locked -q

- name: parity-publish claim
env:
Expand Down
Loading
Loading