name: Srtool build env: SUBWASM_VERSION: 0.15.0 on: push: tags: - "*" paths-ignore: - "docker" - "docs" - "scripts" - "test" branches: - "release*" - "master" schedule: - cron: "00 02 * * 1" # 2AM weekly on monday workflow_dispatch: jobs: srtool: runs-on: ubuntu-latest strategy: matrix: chain: ["statemine", "westmint", "statemint", "rococo-parachain", "shell", "canvas-kusama"] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Srtool build id: srtool_build uses: chevdor/srtool-actions@v0.3.0 with: chain: ${{ matrix.chain }} runtime_dir: polkadot-parachains/${{ matrix.chain }} - name: Summary run: | echo '${{ steps.srtool_build.outputs.json }}' | jq > ${{ matrix.chain }}-srtool-digest.json cat ${{ matrix.chain }}-srtool-digest.json echo "Compact Runtime: ${{ steps.srtool_build.outputs.wasm }}" echo "Compressed Runtime: ${{ steps.srtool_build.outputs.wasm_compressed }}" # it takes a while to build the runtime, so let's save the artifact as soon as we have it - name: Archive Artifacts for ${{ matrix.chain }} uses: actions/upload-artifact@v2 with: name: ${{ matrix.chain }}-runtime path: | ${{ steps.srtool_build.outputs.wasm }} ${{ steps.srtool_build.outputs.wasm_compressed }} ${{ matrix.chain }}-srtool-digest.json # We now get extra information thanks to subwasm - name: Install subwasm run: | wget https://github.com/chevdor/subwasm/releases/download/v${{ env.SUBWASM_VERSION }}/subwasm_linux_amd64_v${{ env.SUBWASM_VERSION }}.deb sudo dpkg -i subwasm_linux_amd64_v${{ env.SUBWASM_VERSION }}.deb subwasm --version - name: Show Runtime information shell: bash run: | subwasm info ${{ steps.srtool_build.outputs.wasm }} subwasm info ${{ steps.srtool_build.outputs.wasm_compressed }} subwasm --json info ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.chain }}-info.json subwasm --json info ${{ steps.srtool_build.outputs.wasm_compressed }} > ${{ matrix.chain }}-compressed-info.json - name: Extract the metadata shell: bash run: | subwasm meta ${{ steps.srtool_build.outputs.wasm }} subwasm --json meta ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.chain }}-metadata.json - name: Check the metadata diff shell: bash # the following subwasm call will error for chains that are not known and/or live, that includes shell for instance run: | subwasm diff ${{ steps.srtool_build.outputs.wasm }} --chain-b ${{ matrix.chain }} || \ echo "Subwasm call failed, check the logs. This is likely because ${{ matrix.chain }} is not known by subwasm" | \ tee ${{ matrix.chain }}-diff.txt - name: Archive Subwasm results uses: actions/upload-artifact@v2 with: name: ${{ matrix.chain }}-runtime path: | ${{ matrix.chain }}-info.json ${{ matrix.chain }}-compressed-info.json ${{ matrix.chain }}-metadata.json ${{ matrix.chain }}-diff.txt