Skip to content

Feat/e2e refactor #4467

Feat/e2e refactor

Feat/e2e refactor #4467

Workflow file for this run

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@v4
with:
fetch-depth: 1
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.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@v4
with:
fetch-depth: 1
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.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:
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.0
- run: rustup override set 1.75.0
- run: rustup target add wasm32-unknown-unknown
- uses: actions/checkout@v4
- name: Install Binaryen
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/install_binaryen.sh"
"${GITHUB_WORKSPACE}/scripts/install_binaryen.sh"
- name: Build
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/build.sh"
"${GITHUB_WORKSPACE}/scripts/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@v4
with:
name: contracts
path: ./artifacts/
if-no-files-found: error
build-schemas:
runs-on: ubuntu-latest
name: Actions - build schemas
needs: contract-tests
steps:
- uses: actions/checkout@v4
- name: Build Schema
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/build_schema.sh"
"${GITHUB_WORKSPACE}/scripts/build_schema.sh"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: schema
path: ./schemas/
if-no-files-found: error