Initial Commit #1
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: Formatting Check & Test | |
on: | |
push: | |
paths: ["**.*"] | |
pull_request: | |
branches: [main, development] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
linting: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.69.0 | |
components: rustfmt, clippy | |
profile: minimal | |
override: true | |
- run: cargo fetch --verbose | |
- run: cargo clippy --all --all-targets -- -D warnings | |
- run: cargo fmt -- --check | |
contract-tests: | |
name: Contract Tests | |
needs: linting | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.69.0 | |
profile: minimal | |
- run: cargo fetch --verbose | |
- run: cargo build | |
- run: cargo test --verbose --all --lib | |
env: | |
RUST_BACKTRACE: 1 | |
- run: cargo test -p tests-integration --verbose | |
env: | |
RUST_BACKTRACE: 1 | |
build: | |
runs-on: ubuntu-latest | |
name: Actions - build contracts and upload artifacts | |
needs: [contract-tests] | |
steps: | |
- run: sudo apt install binaryen | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.69.0 | |
- run: rustup override set 1.69.0 | |
- run: rustup target add wasm32-unknown-unknown | |
- uses: actions/checkout@v2 | |
- name: Build | |
run: | | |
chmod +x "${GITHUB_WORKSPACE}/build.sh" | |
"${GITHUB_WORKSPACE}/build.sh" all | |
- name: Check contract sizes | |
run: | | |
chmod +x "${GITHUB_WORKSPACE}/.github/file-size.sh" | |
"${GITHUB_WORKSPACE}/.github/file-size.sh" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: contracts | |
path: ./artifacts/ | |
if-no-files-found: error | |
# ibc-tests: | |
# runs-on: ubuntu-latest | |
# name: Post Build - IBC Tests | |
# needs: build | |
# steps: | |
# - uses: actions/checkout@v2 | |
# with: | |
# fetch-depth: 1 | |
# - name: Download Contracts | |
# uses: actions/download-artifact@v2 | |
# with: | |
# name: contracts | |
# path: "./ibc-tests/contracts" | |
# - name: Run IBC Tests | |
# run: | | |
# cd ./ibc-tests | |
# npm i | |
# npm test | |
build-schemas: | |
runs-on: ubuntu-latest | |
name: Actions - build schemas | |
needs: contract-tests | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build Schema | |
run: | | |
chmod +x "${GITHUB_WORKSPACE}/build_schema.sh" | |
"${GITHUB_WORKSPACE}/build_schema.sh" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: schema | |
path: ./artifacts/ | |
if-no-files-found: error |