Skip to content

Commit

Permalink
Prepare a version based on STABLE (#59)
Browse files Browse the repository at this point in the history
* Remove some more unstable flags
* Update to Rust 1.69.0 and latest tooling
* Add specific registry to the container image
* Fix upload paths for tests
* Add quicker test
* Fix working folders + better debugging
* Fix working directory
* Fix matrix for Cumulus
* Fix artifact path
* Typos
  • Loading branch information
chevdor committed Apr 26, 2023
1 parent 965d0a9 commit 3c75c8e
Show file tree
Hide file tree
Showing 16 changed files with 390 additions and 88 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/manual-acala.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build - Acala

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
ref:
description: The ref to be used for the repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-cumulus.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build - Cumulus

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
ref:
description: The ref to be used for the repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-moonbeam.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build - Moonbeam

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
ref:
description: The ref to be used for the repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-polkadot.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build - Polkadot

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
ref:
description: The ref to be used for the repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-shiden.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build - Shiden

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
ref:
description: The ref to be used for the repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Manual Build

env:
SUBWASM_VERSION: 0.18.0
SUBWASM_VERSION: 0.19.1

on:
workflow_dispatch:
inputs:
srtool_tag:
description: The SRTOOL tag to use
default: 1.66.1
default: 1.69.0
required: false
srtool_image:
description: The SRTOOL image to use
Expand Down
248 changes: 248 additions & 0 deletions .github/workflows/quick-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
name: Quick Test
on:
push:
branches:
- master
tags:
- "!v*"

pull_request:

workflow_dispatch:

jobs:
build:
name: Build Srtool Docker image
runs-on: ubuntu-latest
continue-on-error: false
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Build image
run: |
SRTOOL_VERSION=$(cat VERSION)
RUSTC_VERSION=$(cat RUSTC_VERSION)
echo Building tag $RUSTC_VERSION:$SRTOOL_VERSION
echo "SRTOOL_VERSION=$SRTOOL_VERSION" >> $GITHUB_ENV
echo "RUSTC_VERSION=$RUSTC_VERSION" >> $GITHUB_ENV
docker --version
docker build $@ --build-arg RUSTC_VERSION=$RUSTC_VERSION -t srtool .
docker run -t --rm srtool version -cM
- name: Export docker image
run: |
docker save srtool | gzip > srtool.tar.gz
- name: Cache the image
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11
with:
key: srtool-docker-image-${{ github.sha }}
path: |
srtool.tar.gz
common:
runs-on: ubuntu-latest
needs: build
continue-on-error: false
steps:
- name: Cache the image
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11
with:
key: srtool-docker-image-${{ github.sha }}
path: |
srtool.tar.gz
- name: Load Docker image
run: |
docker load -i srtool.tar.gz
docker images --digests
- name: Check the version
run: |
VERSION=$(docker run -t --rm srtool version -cM)
if [[ \
$( echo $VERSION | jq .name -cMr | wc -c ) -le 5 ||
$( echo $VERSION | jq .version -cMr | wc -c ) -le 5 ||
$( echo $VERSION | jq .rustc -cMr | wc -c ) -le 5 \
]] ; then
echo "Invalid version output"
exit 1
else
echo $VERSION
fi
container-structure-test:
runs-on: ubuntu-latest
needs: build
continue-on-error: false
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Show files
run: |
ls -al
- name: Cache the image
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11
with:
key: srtool-docker-image-${{ github.sha }}
path: |
srtool.tar.gz
- name: Install tooling
run: |
curl -LO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 && \
chmod +x container-structure-test-linux-amd64 && \
mkdir -p $HOME/bin && \
export PATH=$PATH:$HOME/bin && \
mv container-structure-test-linux-amd64 $HOME/bin/container-structure-test
echo "Installed version:"
container-structure-test version
- name: Load Docker image
run: |
docker load -i srtool.tar.gz
docker images --digests
- name: Run the tests
run: |
export PATH=$PATH:$HOME/bin
TESTS=$(find tests -type f | sed -e 's/^/ --config /g' | tr -d '\n')
echo "Running tests:"
find tests -type f
container-structure-test test --image srtool --verbosity info ${TESTS}
polkadot:
runs-on: ubuntu-latest
needs: build
continue-on-error: false
strategy:
fail-fast: false
matrix:
chain: ["westend"]
steps:
- name: Cache the image
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11
with:
key: srtool-docker-image-${{ github.sha }}
path: |
srtool.tar.gz
- name: Load Docker image
run: |
docker load -i srtool.tar.gz
docker images --digests
- name: Check out the Polkadot repo
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
with:
repository: paritytech/polkadot
ref: ${{ github.event.inputs.ref }}
fetch-depth: 0
path: polkadot

- name: Run srtool info
env:
PACKAGE: ${{ matrix.chain }}-runtime
RUNTIME_DIR: runtime/${{ matrix.chain }}
working-directory: polkadot
run: |
INFO=$(docker run --rm -i \
-e PACKAGE=$PACKAGE \
-e RUNTIME_DIR=$RUNTIME_DIR \
-v "${PWD}":/build \
srtool info -cM)
if [ $( echo $INFO | jq .src -r ) != "git" ] ; then
echo Invalid info output, got $( echo $INFO | jq .src -r )
exit 1
else
echo $INFO
fi
- name: Debug information
env:
PACKAGE: ${{ matrix.chain }}-runtime
RUNTIME_DIR: runtime/${{ matrix.chain }}
working-directory: polkadot
run: |
echo "::group::Runtimes"
ls -al runtime || true
echo "::endgroup::"
echo "::group::${{ matrix.chain }}"
ls -al runtime/${{ matrix.chain }} || true
echo "::endgroup::"
echo "::group::IDs and Docker"
id -u runner || true
id -g runner || true
id -u docker || true
docker info --format "{{ .ClientInfo.Context }}"
echo "::endgroup::"
- name: Run srtool build for ${{ matrix.chain }}
id: srtool_build
env:
PACKAGE: ${{ matrix.chain }}-runtime
RUNTIME_DIR: runtime/${{ matrix.chain }}
working-directory: polkadot
run: |
CMD="docker run --rm -i \
-e PACKAGE=$PACKAGE \
-e RUNTIME_DIR=$RUNTIME_DIR \
-v ${PWD}:/build \
srtool build --app --json"
echo ::debug::build::docker_run $CMD
echo "::group::SRTOOL Build Output"
stdbuf -oL $CMD | {
while IFS= read -r line
do
echo ║ $line
JSON="$line"
done
echo "json=$JSON" >> $GITHUB_OUTPUT
echo "JSON=$JSON" >> $GITHUB_ENV
echo $JSON | jq .
WASM=`echo $JSON | jq -r .runtimes.compact.wasm`
echo "wasm=$WASM" >> $GITHUB_OUTPUT
Z_WASM=`echo $JSON | jq -r .runtimes.compressed.wasm`
echo "wasm_compressed=$Z_WASM" >> $GITHUB_OUTPUT
}
echo "::endgroup::"
- name: Summary for ${{ matrix.chain }}
working-directory: polkadot
run: |
echo "::group::JSON digest"
echo $JSON | jq . | tee ${{ matrix.chain }}-srtool-digest.json
echo "::endgroup::"
echo "::group::Runtimes paths"
echo "Compact Runtime: ${{ steps.srtool_build.outputs.wasm }}"
echo "Compressed Runtime: ${{ steps.srtool_build.outputs.wasm_compressed }}"
echo "::endgroup::"
echo "::group::Debugging"
pwd; ls -al
ls -al ${{ steps.srtool_build.outputs.wasm_compressed }}
ls -al ${{ steps.srtool_build.outputs.wasm_compressed }}
echo "::endgroup::"
- name: Archive Artifacts for ${{ matrix.chain }}
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0
with:
name: ${{ matrix.chain }}-runtime
path: |
polkadot/${{ steps.srtool_build.outputs.wasm }}
polkadot/${{ steps.srtool_build.outputs.wasm_compressed }}
polkadot/${{ matrix.chain }}-srtool-digest.json
Loading

0 comments on commit 3c75c8e

Please sign in to comment.