From 2ff88ec225cf4a732dccc817dc346ee88204f121 Mon Sep 17 00:00:00 2001 From: Chevdor Date: Thu, 15 Jul 2021 19:32:55 +0200 Subject: [PATCH] ci: use srtool-actions to build runtimes (#3423) * ci: use chevdor/srtool-actions to build runtimes * cleanup --- .../workflows/publish-draft-release.yml | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/polkadot/.github/workflows/publish-draft-release.yml b/polkadot/.github/workflows/publish-draft-release.yml index b40bc8ba92..5b1855c32c 100644 --- a/polkadot/.github/workflows/publish-draft-release.yml +++ b/polkadot/.github/workflows/publish-draft-release.yml @@ -24,38 +24,27 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - runtime: ['polkadot', 'kusama'] - container: - image: paritytech/srtool:nightly-2021-03-15 - volumes: - - ${{ github.workspace }}:/build - env: - PACKAGE: ${{ matrix.runtime }}-runtime - RUSTC_VERSION: nightly-2020-10-27 + runtime: ["polkadot", "kusama", "westend"] steps: - uses: actions/checkout@v2 - name: Cache target dir uses: actions/cache@v2 with: - path: '${{ github.workspace }}/runtime/${{ matrix.runtime }}/target' + path: "${{ github.workspace }}/runtime/${{ matrix.runtime }}/target" key: srtool-target-${{ matrix.runtime }}-${{ github.sha }} restore-keys: | srtool-target-${{ matrix.runtime }}- srtool-target- - name: Build ${{ matrix.runtime }} runtime - id: build-runtime - shell: bash - env: - srtool_output_filename: ${{ matrix.runtime }}_srtool_output.json + id: srtool_build + uses: chevdor/srtool-actions@v0.3.0 + with: + # This is the default with chevdor/srtool-actions@v0.3.0 but we make it clear + image: paritytech/srtool + chain: ${{ matrix.runtime }} + - name: Store srtool digest to disk run: | - cd /build - pwd - ls -la - build --json | tee $srtool_output_filename - cat $srtool_output_filename - while IFS= read -r line; do - echo "::set-output name=$line::$(jq -r ".$line" < $srtool_output_filename)" - done <<< "$(jq -r 'keys[]' < $srtool_output_filename)" + echo '${{ steps.srtool_build.outputs.json }}' | jq > ${{ matrix.runtime }}_srtool_output.json - name: Upload ${{ matrix.runtime }} srtool json uses: actions/upload-artifact@v2 with: @@ -65,49 +54,52 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.runtime }}-runtime - path: "${{ steps.build-runtime.outputs.wasm }}" + path: | + ${{ steps.srtool_build.outputs.wasm }} + ${{ steps.srtool_build.outputs.wasm_compressed }} publish-draft-release: runs-on: ubuntu-latest - needs: ['get-rust-versions', 'build-runtimes'] + needs: ["get-rust-versions", "build-runtimes"] outputs: release_url: ${{ steps.create-release.outputs.html_url }} asset_upload_url: ${{ steps.create-release.outputs.upload_url }} steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - path: polkadot - - name: Set up Ruby 2.7 - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.7 - - name: Download srtool json output - uses: actions/download-artifact@v2 - - name: Generate release text - env: - RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }} - RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gem install changelogerator git toml - ruby $GITHUB_WORKSPACE/polkadot/scripts/github/generate_release_text.rb | tee release_text.md - - name: Create draft release - id: create-release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: Polkadot ${{ github.ref }} - body_path: ./release_text.md - draft: true + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + path: polkadot + - name: Set up Ruby 2.7 + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.7 + - name: Download srtool json output + uses: actions/download-artifact@v2 + - name: Generate release text + env: + RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }} + RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gem install changelogerator git toml + ruby $GITHUB_WORKSPACE/polkadot/scripts/github/generate_release_text.rb | tee release_text.md + - name: Create draft release + id: create-release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Polkadot ${{ github.ref }} + body_path: ./release_text.md + draft: true + publish-runtimes: runs-on: ubuntu-latest - needs: ['publish-draft-release'] + needs: ["publish-draft-release"] strategy: matrix: - runtime: ['polkadot', 'kusama'] + runtime: ["polkadot", "kusama", "westend"] steps: - uses: actions/checkout@v2 - uses: actions/download-artifact@v2 @@ -122,7 +114,7 @@ jobs: ls "${{ matrix.runtime }}-runtime" runtime_ver="$(ruby -e 'require "./scripts/github/lib.rb"; puts get_runtime("${{ matrix.runtime }}")')" echo "::set-output name=runtime_ver::$runtime_ver" - - name: Upload ${{ matrix.runtime }} wasm + - name: Upload compact ${{ matrix.runtime }} wasm uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -131,6 +123,15 @@ jobs: asset_path: "${{ matrix.runtime }}-runtime/${{ matrix.runtime }}_runtime.compact.wasm" asset_name: ${{ matrix.runtime }}_runtime-v${{ steps.get-runtime-ver.outputs.runtime_ver }}.compact.wasm asset_content_type: application/wasm + - name: Upload compressed ${{ matrix.runtime }} wasm + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.publish-draft-release.outputs.asset_upload_url }} + asset_path: "${{ matrix.runtime }}-runtime/${{ matrix.runtime }}_runtime.compact.compressed.wasm" + asset_name: ${{ matrix.runtime }}_runtime-v${{ steps.get-runtime-ver.outputs.runtime_ver }}.compact.compressed.wasm + asset_content_type: application/wasm post_to_matrix: runs-on: ubuntu-latest