Merge pull request #14 from lakshya-sky/ext_crypto_ecdsa_generate_ver… #91
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: Integration Testsuite | |
on: | |
push: | |
paths: | |
- '.github/workflows/integration.yml' | |
- 'test/**' | |
- '!test/fixtures/**' | |
- 'test/fixtures/genesis/**' | |
- '!test/adapters/**' | |
- 'test/adapters/substrate/**' | |
- '!test/README.md' | |
pull_request: | |
paths: | |
- '.github/workflows/integration.yml' | |
- 'test/**' | |
- '!test/fixtures/**' | |
- 'test/fixtures/genesis/**' | |
- '!test/adapters/**' | |
- 'test/adapters/substrate/**' | |
- '!test/README.md' | |
jobs: | |
build-host-substrate: | |
name: "[build] substrate-host" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Setup rust toolchain | |
id: rustup | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2020-06-15 | |
target: wasm32-unknown-unknown | |
default: true | |
profile: minimal | |
- name: Cache cargo registry | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/registry | |
key: cargo-registry-host-substrate-${{ hashFiles('test/hosts/substrate/Cargo.lock') }} | |
restore-keys: cargo-registry-host-substrate- | |
- name: Cache cargo index | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/git | |
key: cargo-index-host-substrate-${{ hashFiles('test/hosts/substrate/Cargo.lock') }} | |
restore-keys: cargo-index-host-substrate- | |
- name: Cache cargo build output | |
uses: actions/cache@v1 | |
with: | |
path: test/hosts/substrate/target | |
key: cargo-build-host-substrate-${{ steps.rustup.outputs.rustc_hash }}-${{ hashFiles('test/hosts/substrate/Cargo.lock') }} | |
restore-keys: cargo-build-host-substrate-${{ steps.rustup.outputs.rustc_hash }}- | |
- name: Build substrate | |
run: make -C test substrate-host | |
- name: Upload substrate | |
uses: actions/upload-artifact@v1 | |
with: | |
name: substrate-host | |
path: test/bin/polkadot | |
build-host-kagome: | |
name: "[build] kagome-host" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Cache hunter outputs | |
uses: actions/cache@v1 | |
with: | |
path: ~/.hunter | |
key: hunter-host-kagome-${{ hashFiles('test/hosts/kagome/CMakeLists.txt') }} | |
restore-keys: hunter-host-kagome- | |
- name: Build kagome | |
env: | |
CC: gcc-9 | |
CXX: g++-9 | |
run: make -C test kagome-host | |
- name: Upload kagome_validating | |
uses: actions/upload-artifact@v1 | |
with: | |
name: kagome-host | |
path: test/bin/kagome_validating | |
- name: Upload kagome_full_syncing | |
uses: actions/upload-artifact@v1 | |
with: | |
name: kagome-host | |
path: test/bin/kagome_full_syncing | |
- name: Upload kagome_block_producing | |
uses: actions/upload-artifact@v1 | |
with: | |
name: kagome-host | |
path: test/bin/kagome_block_producing | |
build-host-gossamer: | |
name: "[build] gossamer-host" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Cache go modules | |
uses: actions/cache@v1 | |
with: | |
path: ~/go/pkg/mod | |
key: go-mod-host-gossamer-${{ hashFiles('test/hosts/gossamer/go.sum') }} | |
restore-keys: go-mod-host-gossamer- | |
- name: Build gossamer | |
run: make -C test gossamer-host | |
- name: Upload gossamer | |
uses: actions/upload-artifact@v1 | |
with: | |
name: gossamer-host | |
path: test/bin/gossamer | |
- name: Upload libwasmer.so | |
uses: actions/upload-artifact@v1 | |
with: | |
name: gossamer-host | |
path: test/lib/libwasmer.so | |
build-adapter-substrate: | |
name: "[build] substrate-adapter" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup rust toolchain | |
id: rustup | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2020-06-15 | |
target: wasm32-unknown-unknown | |
default: true | |
profile: minimal | |
- name: Cache cargo registry | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/registry | |
key: cargo-registry-adapter-substrate-${{ hashFiles('test/adapters/substrate/Cargo.lock') }} | |
restore-keys: cargo-registry-adapter-substrate- | |
- name: Cache cargo index | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/git | |
key: cargo-index-adapter-substrate-${{ hashFiles('test/adapters/substrate/Cargo.lock') }} | |
restore-keys: cargo-index-adapter-substrate- | |
- name: Cache cargo build ouput | |
uses: actions/cache@v1 | |
with: | |
path: test/adapters/substrate/target | |
key: cargo-build-adapter-substrate-${{ steps.rustup.outputs.rustc_hash }}-${{ hashFiles('test/adapters/substrate/Cargo.lock') }} | |
restore-keys: cargo-build-adapter-substrate-${{ steps.rustup.outputs.rustc_hash }}- | |
- name: Build substrate adapters | |
run: make -C test substrate-adapter | |
- name: Upload substrate adapter | |
uses: actions/upload-artifact@v1 | |
with: | |
name: substrate-adapter | |
path: test/bin/substrate-adapter | |
build-runtime-tester: | |
name: "[build] tester-runtime" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup rust toolchain | |
id: rustup | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2020-06-15 | |
target: wasm32-unknown-unknown | |
default: true | |
profile: minimal | |
- name: Setup python toolchain | |
uses: actions/setup-python@v2 | |
- name: Install yq | |
run: | | |
python -m pip install wheel | |
python -m pip install yq | |
- name: Cache cargo registry | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/registry | |
key: cargo-registry-runtime-tester-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-registry-runtime-tester- | |
- name: Cache cargo index | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/git | |
key: cargo-index-runtime-tester-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-index-runtime-tester- | |
- name: Cache cargo build output | |
uses: actions/cache@v1 | |
with: | |
path: test/runtimes/tester/target | |
key: cargo-build-runtime-tester-${{ steps.rustup.outputs.rustc_hash }}-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-build-runtime-tester-${{ steps.rustup.outputs.rustc_hash }}- | |
- name: Build and generate host tester genesis | |
run: make -C test tester-runtime | |
- name: Upload host tester runtime | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester_runtime.compact.wasm | |
path: test/runtimes/tester/target/release/wbuild/tester-runtime/tester_runtime.compact.wasm | |
- name: Upload host tester genesis file | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester-runtime-genesis | |
path: test/runtimes/tester/genesis.json | |
- name: Upload host tester state file | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester-runtime-genesis | |
path: test/runtimes/tester/genesis.yaml | |
build-runtime-tester-legacy: | |
name: "[build] tester-runtime-legacy" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup rust toolchain | |
id: rustup | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2020-06-15 | |
target: wasm32-unknown-unknown | |
default: true | |
profile: minimal | |
- name: Setup python toolchain | |
uses: actions/setup-python@v2 | |
- name: Install yq | |
run: | | |
python -m pip install wheel | |
python -m pip install yq | |
- name: Cache cargo registry | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/registry | |
key: cargo-registry-runtime-tester-legacy-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-registry-runtime-tester-legacy- | |
- name: Cache cargo index | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo/git | |
key: cargo-index-runtime-tester-legacy-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-index-runtime-tester-legacy- | |
- name: Cache cargo build | |
uses: actions/cache@v1 | |
with: | |
path: test/runtimes/tester-legacy/target | |
key: cargo-build-runtime-tester-legacy-${{ steps.rustup.outputs.rustc_hash }}-${{ hashFiles('test/runtimes/tester/Cargo.lock') }} | |
restore-keys: cargo-build-runtime-tester-legacy-${{ steps.rustup.outputs.rustc_hash }}- | |
- name: Build and generate host tester legacy genesis | |
run: make -C test tester-runtime-legacy | |
- name: Upload host tester legacy runtime | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester_runtime_legacy.compact.wasm | |
path: test/runtimes/tester-legacy/target/release/wbuild/tester-runtime-legacy/tester_runtime_legacy.compact.wasm | |
- name: Upload host tester legacy genesis file | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester-runtime-legacy-genesis | |
path: test/runtimes/tester-legacy/genesis-legacy.json | |
- name: Upload host tester legacy state file | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester-runtime-legacy-genesis | |
path: test/runtimes/tester-legacy/genesis-legacy.yaml | |
- name: Upload host tester legacy genesis file for kagome | |
uses: actions/upload-artifact@v1 | |
with: | |
name: tester-runtime-legacy-genesis | |
path: test/runtimes/tester-legacy/genesis-legacy.kagome.json | |
test-substrate: | |
needs: [ build-host-substrate, build-adapter-substrate, build-runtime-tester ] | |
name: "[test-genesis] substrate" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v1 | |
with: | |
name: substrate-host | |
path: test/bin | |
- run: chmod +x test/bin/polkadot | |
- uses: actions/download-artifact@v1 | |
with: | |
name: substrate-adapter | |
path: test/bin | |
- run: chmod +x test/bin/substrate-adapter | |
- uses: actions/download-artifact@v1 | |
with: | |
name: tester-runtime-genesis | |
path: test/runtimes/tester | |
- name: Run substrate with tester genesis | |
run: test/runtests.jl substrate genesis | |
test-kagome: | |
needs: [ build-host-kagome, build-adapter-substrate, build-runtime-tester-legacy ] | |
name: "[test-genesis] kagome" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v1 | |
with: | |
name: kagome-host | |
path: test/bin | |
- run: chmod +x test/bin/kagome_validating | |
- uses: actions/download-artifact@v1 | |
with: | |
name: substrate-adapter | |
path: test/bin | |
- run: chmod +x test/bin/substrate-adapter | |
- uses: actions/download-artifact@v1 | |
with: | |
name: tester-runtime-legacy-genesis | |
path: test/runtimes/tester-legacy | |
- name: Run kagome with tester genesis | |
run: test/runtests.jl kagome genesis | |
test-gossamer: | |
needs: [ build-host-gossamer, build-adapter-substrate, build-runtime-tester-legacy ] | |
name: "[test-genesis] gossamer" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v1 | |
with: | |
name: gossamer-host | |
path: test/bin | |
- run: | | |
chmod +x test/bin/gossamer | |
mkdir -p test/lib | |
mv test/bin/libwasmer.so test/lib/ | |
- uses: actions/download-artifact@v1 | |
with: | |
name: substrate-adapter | |
path: test/bin | |
- run: chmod +x test/bin/substrate-adapter | |
- uses: actions/download-artifact@v1 | |
with: | |
name: tester-runtime-legacy-genesis | |
path: test/runtimes/tester-legacy | |
- name: Run gossamer with tester genesis | |
run: test/runtests.jl gossamer genesis |