Skip to content

Add example test

Add example test #172

Workflow file for this run

name: Build and Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: Build contract
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Cache Crates
uses: actions/cache@v3
with:
path: ~/.cargo
key: ${{ runner.os }}-substrate-contracts-node-${{ hashFiles('rust-toolchain.toml') }}
- name: Install prerequisites
run: sudo apt install -y build-essential clang cmake curl binaryen
- name: Install rust 1.78
uses: actions-rs/toolchain@v1
with:
toolchain: 1.78
default: true
target: wasm32-unknown-unknown
- name: Build
run: |
chmod +x ./build.sh &&
./build.sh
tests:
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Cache Crates
uses: actions/cache@v3
with:
path: ~/.cargo
key: ${{ runner.os }}-substrate-contracts-node-${{ hashFiles('rust-toolchain.toml') }}
- name: Install prerequisites
run: sudo apt install -y build-essential clang cmake curl binaryen
- name: Install rust 1.78
uses: actions-rs/toolchain@v1
with:
toolchain: 1.78
default: true
target: wasm32-unknown-unknown
- name: Run tests script (with building)
run: |
chmod +x tests.sh
./tests.sh --release
shell: bash
sdk_tests:
name: Run SDK tests
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Cache Crates
uses: actions/cache@v3
with:
path: ~/.cargo
key: ${{ runner.os }}-substrate-contracts-node-${{ hashFiles('rust-toolchain.toml') }}
- name: Install prerequisites
run: sudo apt install -y build-essential binaryen
- name: Install rust 1.78
uses: actions-rs/toolchain@v1
with:
toolchain: 1.78
default: true
target: wasm32-unknown-unknown
- name: Read .nvmrc
run: echo NVMRC=`cat ./sdk/.nvmrc` >> $GITHUB_ENV
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NVMRC }}
cache: 'npm'
cache-dependency-path: ./sdk/package-lock.json
- name: Build SDK
working-directory: ./sdk
run: |
chmod +x build.sh
./build.sh
shell: bash
- name: Install Gear node
run: |
cargo xtask node
- name: Test SDK
working-directory: ./sdk
run: |
chmod +x tests.sh
./tests.sh
shell: bash