Skip to content

ci: changes to contract builds #4463

ci: changes to contract builds

ci: changes to contract builds #4463

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: >
!contains(github.event.pull_request.labels.*.name, 'ci: skip-build') && github.event_name == 'pull_request' && (
(github.base_ref == 'development' ||
github.base_ref == 'main' ||
contains(github.event.pull_request.labels.*.name, 'ci: build'))
)
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_all.sh"
make build
sudo make version-map
- 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
if: >
!contains(github.event.pull_request.labels.*.name, 'ci: skip-build') && github.event_name == 'pull_request' && (
(github.base_ref == 'development' ||
github.base_ref == 'main' ||
contains(github.event.pull_request.labels.*.name, 'ci: build'))
)
steps:
- uses: actions/checkout@v4
- name: Build Schema
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/build_schema.sh"
make schemas
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: schema
path: ./schemas/
if-no-files-found: error