Skip to content
This repository has been archived by the owner on Sep 6, 2023. It is now read-only.

submodule: bump hosts/substrate from f0e1ed0 to 8e6e369 #680

submodule: bump hosts/substrate from f0e1ed0 to 8e6e369

submodule: bump hosts/substrate from f0e1ed0 to 8e6e369 #680

Workflow file for this run

name: Integration Testsuite
on:
push:
branches:
- main
pull_request:
paths:
- '.github/workflows/integration.yml'
- '**'
- '!adapters/**'
- '!fixtures/**'
- 'fixtures/genesis-default/**'
- 'fixtures/genesis-legacy/**'
- '!helpers/AdapterFixture.jl'
- '!runtimes/hostapi/**'
- '!README.md'
jobs:
build-host-substrate:
name: "[build] substrate-host"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true
- name: Install protoc
run: sudo apt-get install -y protobuf-compiler
- name: Setup rust toolchain
run: rustup show
- name: Setup and cache sccache
uses: visvirial/sccache-action@v1.0.1
with:
cache-key: sccache-host-substrate
- name: Cache cargo registry and index
uses: actions/cache@v3
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-cache-host-substrate-${{ hashFiles('hosts/substrate/Cargo.lock') }}
restore-keys: cargo-cache-host-substrate-
- name: Cache cargo build output
uses: actions/cache@v3
with:
path: hosts/substrate/target
key: cargo-build-host-substrate-${{ hashFiles('hosts/substrate/Cargo.lock') }}
restore-keys: cargo-build-host-substrate-
- name: Build substrate host
run: make substrate-host
- name: Upload substrate
uses: actions/upload-artifact@v3
with:
name: substrate-host
path: bin/polkadot
build-host-kagome:
name: "[build] kagome-host"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true
- name: Install gitpython
run: sudo apt-get install -y python3-git
- name: Setup and cache sccache
uses: visvirial/sccache-action@v1.0.1
with:
cache-key: sccache-host-kagome
- name: Build kagome host (with caching)
env:
CC: gcc-9
CXX: g++-9
CMAKE_C_COMPILER_LAUNCHER: /tmp/sccache/sccache
CMAKE_CXX_COMPILER_LAUNCHER: /tmp/sccache/sccache
GITHUB_HUNTER_USERNAME: ${{ secrets.HUNTER_UPLOAD_USER }}
GITHUB_HUNTER_TOKEN: ${{ secrets.HUNTER_UPLOAD_TOKEN }}
run: make kagome-host
- name: Upload kagome hosts
uses: actions/upload-artifact@v3
with:
name: kagome-host
path: bin/kagome
build-host-gossamer:
name: "[build] gossamer-host"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true
- name: Setup go toolchain
uses: actions/setup-go@v3
with:
go-version: 1.18
- name: Cache go modules
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-mod-host-gossamer-${{ hashFiles('hosts/gossamer/go.sum') }}
restore-keys: go-mod-host-gossamer-
- name: Build gossamer host
run: make gossamer-host
- name: Upload gossamer and libwasmer
uses: actions/upload-artifact@v3
with:
name: gossamer-host
path: bin/gossamer
- name: Upload libwasmer.so
uses: actions/upload-artifact@v3
with:
name: gossamer-host
path: lib/libwasmer.so
build-runtime-tester:
strategy:
fail-fast: false
matrix:
feature: [ default, legacy ]
name: "[build] tester-runtime ${{ matrix.feature }}"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install protoc
run: sudo apt-get install -y protobuf-compiler
- name: Setup rust toolchain
run: rustup show
- name: Cache cargo registry and index
uses: actions/cache@v3
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-cache-runtime-tester-${{ matrix.feature }}-${{ hashFiles('runtimes/tester/Cargo.lock') }}
restore-keys: cargo-cache-runtime-tester-${{ matrix.feature }}-
- name: Cache cargo build output
uses: actions/cache@v3
with:
path: runtimes/tester/target
key: cargo-build-runtime-tester-${{ matrix.feature }}-${{ steps.rustup.outputs.rustc_hash }}-${{ hashFiles('runtimes/tester/Cargo.lock') }}
restore-keys: cargo-build-runtime-tester-${{ matrix.feature }}-${{ steps.rustup.outputs.rustc_hash }}-
- name: Build and generate host tester genesis
run: make -C runtimes/tester ${{ matrix.feature }}
- name: Upload host tester runtime
uses: actions/upload-artifact@v3
with:
name: tester_runtime.${{ matrix.feature }}.wasm
path: runtimes/tester/target/release/wbuild/tester-runtime/tester_runtime.compact.wasm
- name: Upload host tester genesis and hash file
uses: actions/upload-artifact@v3
with:
name: tester-runtime-genesis-${{ matrix.feature }}
path: |
runtimes/tester/genesis.${{ matrix.feature }}.hash
runtimes/tester/genesis.${{ matrix.feature }}.json
test-substrate:
needs: [ build-host-substrate, build-runtime-tester ]
strategy:
fail-fast: false
matrix:
fixture: [ genesis-default, genesis-legacy ]
name: "[test-${{ matrix.fixture }}] substrate"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: substrate-host
path: bin
- run: chmod +x bin/polkadot
- uses: actions/download-artifact@v3
with:
name: tester-runtime-${{ matrix.fixture }}
path: runtimes/tester
- name: Run substrate with tester genesis
run: ./runtests.jl substrate ${{ matrix.fixture }}
test-kagome:
needs: [ build-host-kagome, build-runtime-tester ]
strategy:
fail-fast: false
matrix:
fixture: [ genesis-default, genesis-legacy ]
name: "[test-${{ matrix.fixture }}] kagome"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: kagome-host
path: bin
- run: chmod +x bin/kagome
- uses: actions/download-artifact@v3
with:
name: tester-runtime-${{ matrix.fixture }}
path: runtimes/tester
- name: Run kagome with tester genesis
run: ./runtests.jl kagome ${{ matrix.fixture }}
test-gossamer:
needs: [ build-host-gossamer, build-runtime-tester ]
strategy:
fail-fast: false
matrix:
fixture: [ genesis-legacy ]
name: "[test-${{ matrix.fixture }}] gossamer"
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: gossamer-host
path: bin
- run: |
chmod +x bin/gossamer
mkdir -p lib
mv bin/libwasmer.so lib/
- uses: actions/download-artifact@v3
with:
name: tester-runtime-${{ matrix.fixture }}
path: runtimes/tester
- name: Run gossamer with tester genesis
run: ./runtests.jl gossamer ${{ matrix.fixture }}