Skip to content

Transaction Version Update Check #86

Transaction Version Update Check

Transaction Version Update Check #86

Workflow file for this run

name: Transaction Version Update Check
on:
workflow_dispatch:
inputs:
endpoint:
description: The endpoint to the calamari or manta mainnet.
default: wss://ws.manta.systems
required: false
chain:
description: The name of the chain under test. Usually, you would pass a dev chain
default: manta-dev
required: true
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CHAIN: ${{github.event.inputs.chain}}
ENDPOINT: ${{github.event.inputs.endpoint}}
DEBIAN_FRONTEND: noninteractive
jobs:
update-checks:
timeout-minutes: 120
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v2
- uses: borales/[email protected]
- name: install sccache
env:
SCCACHE_RELEASE_URL: https://github.com/mozilla/sccache/releases/download
SCCACHE_VERSION: v0.5.3
run: |
sudo apt update
sudo apt install -y curl
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
mkdir -p $HOME/.local/bin
curl -L "$SCCACHE_RELEASE_URL/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
chmod +x $HOME/.local/bin/sccache
echo "$HOME/.local/bin" >> $GITHUB_PATH
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: cache sccache
uses: actions/cache@v2
continue-on-error: false
with:
path: ~/.cache/sccache
key: sccache-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
sccache-
- name: start sccache server
run: sccache --start-server
- name: init
shell: bash
run: |
sudo apt update
sudo apt install -y pkg-config libssl-dev protobuf-compiler curl build-essential clang git
protoc --version
curl -s https://sh.rustup.rs -sSf | sh -s -- -y
source ${HOME}/.cargo/env
rustup toolchain install 1.71.0
rustup default 1.71.0
rustup target add wasm32-unknown-unknown
- name: cache cargo
uses: Swatinem/rust-cache@v2
- name: Build New Binary
env:
RUST_BACKTRACE: full
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: 2G
SCCACHE_DIR: ~/.cache/sccache
shell: bash
run: |
source ${HOME}/.cargo/env
RUSTC_BOOTSTRAP=1 cargo build --release --timings
cp target/release/manta $HOME/manta
chmod +x $HOME/manta
- name: Fetch and chmod old release binary
run: |
curl -L -o $HOME/polkadot https://github.com/paritytech/polkadot/releases/download/v1.3.0/polkadot
chmod +x $HOME/polkadot
ls -ahl $HOME/
- name: stop sccache server
run: sccache --stop-server || true
- name: Install pm2
run: npm install -g pm2
- name: Install dasel cli
run: |
curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o dasel && chmod +x dasel
mv ./dasel $HOME/.cargo/bin/dasel
dasel --version
- uses: actions/checkout@v2
with:
repository: paritytech/zombienet
path: zombienet-tool
- name: create launch config
run: |
ls -ahl $GITHUB_WORKSPACE/zombienet/tests
cd $GITHUB_WORKSPACE
dasel put -t string -v $HOME/polkadot -r toml \
-f $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml \
'.relaychain.default_command'
dasel put -t string -v $HOME/manta -r toml \
-f $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml \
'.parachains.[0].collators.[0].command'
if [[ "$CHAIN" == *"manta"* ]]; then
dasel put -t int -v 2104 -r toml \
-f $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml \
'.parachains.[0].id'
dasel put -t string -v $CHAIN -r toml \
-f $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml \
'.parachains.[0].chain'
fi;
cat $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml
- name: launch testnet
run: |
cd $GITHUB_WORKSPACE/zombienet-tool/javascript
yarn
npm run build
pm2 start packages/cli/dist/cli.js --name zombienet \
--output $GITHUB_WORKSPACE/stdout.log \
--error $GITHUB_WORKSPACE/stderr.log \
-- spawn --provider native $GITHUB_WORKSPACE/zombienet/tests/0003-metadata-diff.toml
- name: Prepare output
run: |
VERSION=$($HOME/manta --version)
echo "Metadata comparison:" >> output.txt
echo "Date: $(date)" >> output.txt
echo "Target version: $VERSION" >> output.txt
echo "Chain: $CHAIN" >> output.txt
echo "----------------------------------------------------------------------" >> output.txt
- uses: actions/checkout@v2
with:
repository: polkadot-js/tools
path: tools
- name: Compare the metadata
run: |
echo $ENDPOINT
cd $GITHUB_WORKSPACE/tools
yarn
CMD="yarn run:metadata $ENDPOINT ws://127.0.0.1:9921"
echo -e "Running:\n$CMD"
$CMD >> output.txt
sed -z -i 's/\n\n/\n/g' output.txt
cat output.txt | egrep -n -i ''
chmod +x $GITHUB_WORKSPACE/scripts/github/extrinsic-ordering-filter.sh
SUMMARY=$($GITHUB_WORKSPACE/scripts/github/extrinsic-ordering-filter.sh output.txt)
echo -e $SUMMARY
echo -e $SUMMARY >> output.txt
- name: Show result
run: |
cat output.txt
- name: Stop our local node
run: pkill manta
- if: always()
name: Save output as artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.CHAIN }}
path: |
output.txt