Transaction Version Update Check #86
Workflow file for this run
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
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 |