# This workflow performs the Extrinsic Ordering Check on demand using a binary name: Extrinsic Ordering Check from Binary on: workflow_dispatch: inputs: reference_url: description: The WebSocket url of the reference node default: wss://rpc.polkadot.io 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.9-rc1/polkadot required: true chain: description: The name of the chain under test. Usually, you would pass a local chain default: polkadot-local required: true jobs: check: name: Run check runs-on: ubuntu-latest env: CHAIN: ${{github.event.inputs.chain}} BIN_URL: ${{github.event.inputs.binary_url}} REF_URL: ${{github.event.inputs.reference_url}} steps: - name: Fetch binary run: | echo Fetching $BIN_URL wget $BIN_URL chmod a+x polkadot ./polkadot --version - name: Start local node run: | echo Running on $CHAIN ./polkadot --chain=$CHAIN & - name: Prepare output run: | VERSION=$(./polkadot --version) echo "Metadata comparison:" >> output.txt echo "Date: $(date)" >> output.txt echo "Reference: $REF_URL" >> output.txt echo "Target version: $VERSION" >> output.txt echo "-------------------------------------------" >> output.txt - name: Compare the metadata run: | CMD="docker run --network host jacogr/polkadot-js-tools metadata $REF_URL ws://localhost:9944" echo -e "Running:\n$CMD" $CMD >> output.txt sed -z -i 's/\n\n/\n/g' output.txt - name: Show result run: cat output.txt - name: Stop our local node run: pkill polkadot - name: Save output as artifact uses: actions/upload-artifact@v2 with: name: ${{ env.CHAIN }} path: | output.txt