mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 07:37:57 +00:00
add Extrinsic Ordering check that runs against a local reference node (#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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user