Skip to content

Merge branch 'development' into connor/ci-changes #4403

Merge branch 'development' into connor/ci-changes

Merge branch 'development' into connor/ci-changes #4403

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]
if: github.event_name == 'pull_request'
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
if: >
github.base_ref == 'development' ||
github.base_ref == 'main' ||
contains(github.event.pull_request.labels.*.name, 'ci: build')
uses: actions/upload-artifact@v3
with:
name: contracts
path: ./artifacts/
if-no-files-found: error
build-schemas:
runs-on: ubuntu-latest
name: Actions - build schemas
needs: contract-tests
if: github.event_name == 'pull_request'
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
if: >
github.base_ref == 'development' ||
github.base_ref == 'main' ||
contains(github.event.pull_request.labels.*.name, 'ci: build')
uses: actions/upload-artifact@v4
with:
name: schema
path: ./schemas/
if-no-files-found: error