This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add
Extrinsic Ordering
check that runs against a local reference no…
…de (#5790) * add `Extrinsic Ordering` check that runs against a local reference node * cleanup * use different polkadot base path * check all chains & other review nits * fixup * review nits * do not fail-fast
- Loading branch information
Showing
1 changed file
with
98 additions
and
0 deletions.
There are no files selected for viewing
98 changes: 98 additions & 0 deletions
98
.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# This workflow performs the Extrinsic Ordering Check on demand using two reference binaries | ||
|
||
name: Release - Extrinsic API Check with reference bins | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
reference_binary_url: | ||
description: A url to a Linux binary for the node containing the reference runtime to test against | ||
default: https://releases.parity.io/polkadot/x86_64-debian:stretch/v0.9.26/polkadot | ||
required: true | ||
binary_url: | ||
description: A url to a Linux binary for the node containing the runtime to test | ||
default: https://releases.parity.io/polkadot/x86_64-debian:stretch/v0.9.27-rc1/polkadot | ||
required: true | ||
|
||
jobs: | ||
check: | ||
name: Run check | ||
runs-on: ubuntu-latest | ||
env: | ||
BIN_URL: ${{github.event.inputs.binary_url}} | ||
REF_URL: ${{github.event.inputs.reference_binary_url}} | ||
strategy: | ||
matrix: | ||
fail-fast: false | ||
chain: [polkadot, kusama, westend, rococo] | ||
|
||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v3 | ||
|
||
- name: Fetch reference binary | ||
run: | | ||
echo Fetching $REF_URL | ||
curl $REF_URL -o polkadot-ref | ||
chmod a+x polkadot-ref | ||
./polkadot-ref --version | ||
- name: Fetch test binary | ||
run: | | ||
echo Fetching $BIN_URL | ||
curl $BIN_URL -o polkadot | ||
chmod a+x polkadot | ||
./polkadot --version | ||
- name: Start local reference node | ||
run: | | ||
echo Running reference on ${{ matrix.chain }}-local | ||
./polkadot-ref --chain=${{ matrix.chain }}-local --rpc-port=9934 --ws-port=9945 --base-path=polkadot-ref-base/ & | ||
- name: Start local test node | ||
run: | | ||
echo Running test on ${{ matrix.chain }}-local | ||
./polkadot --chain=${{ matrix.chain }}-local & | ||
- name: Prepare output | ||
run: | | ||
REF_VERSION=$(./polkadot-ref --version) | ||
BIN_VERSION=$(./polkadot --version) | ||
echo "Metadata comparison:" >> output.txt | ||
echo "Date: $(date)" >> output.txt | ||
echo "Ref. binary: $REF_URL" >> output.txt | ||
echo "Test binary: $BIN_URL" >> output.txt | ||
echo "Ref. version: $REF_VERSION" >> output.txt | ||
echo "Test version: $BIN_VERSION" >> output.txt | ||
echo "Chain: ${{ matrix.chain }}-local" >> output.txt | ||
echo "----------------------------------------------------------------------" >> output.txt | ||
- name: Pull polkadot-js-tools image | ||
run: docker pull jacogr/polkadot-js-tools | ||
|
||
- name: Compare the metadata | ||
run: | | ||
CMD="docker run --pull always --network host jacogr/polkadot-js-tools metadata ws://localhost:9945 ws://localhost:9944" | ||
echo -e "Running:\n$CMD" | ||
$CMD >> output.txt | ||
sed -z -i 's/\n\n/\n/g' output.txt | ||
cat output.txt | egrep -n -i '' | ||
SUMMARY=$(./scripts/ci/github/extrinsic-ordering-filter.sh output.txt) | ||
echo -e $SUMMARY | ||
echo -e $SUMMARY >> output.txt | ||
- name: Show result | ||
run: | | ||
cat output.txt | ||
- name: Save output as artifact | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.chain }} | ||
path: | | ||
output.txt | ||
- name: Stop our local nodes | ||
run: | | ||
pkill polkadot-ref | ||
pkill polkadot | ||