Skip to content

chore: separate gh action jobs for running tests and checking cosmwasm compilation #3

chore: separate gh action jobs for running tests and checking cosmwasm compilation

chore: separate gh action jobs for running tests and checking cosmwasm compilation #3

Workflow file for this run

# Based on https://github.com/actions-rs/example/blob/master/.github/workflows/quickstart.yml
on:
pull_request:
push:
branches:
- 'main'
- 'releases/**'
name: Basic
jobs:
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install protoc
uses: arduino/setup-protoc@v1
with:
version: '3.x'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2
with:
shared-key: "cache"
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --locked
env:
RUST_BACKTRACE: 1
cosmowasm-compilation:
name: Cosmowasm Compilation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.71.1
target: wasm32-unknown-unknown
override: true
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2
with:
shared-key: "cache"
- name: Compile WASM contract
uses: actions-rs/cargo@v1
with:
command: wasm
args: --locked --workspace --exclude ampd
env:
RUSTFLAGS: "-C link-arg=-s"
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.71.1
override: true
components: rustfmt, clippy
- name: Install cargo-sort
uses: baptiste0928/cargo-install@v2
with:
crate: cargo-sort
- name: Install protoc
uses: arduino/setup-protoc@v1
with:
version: '3.x'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2
with:
shared-key: "cache"
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo sort
uses: actions-rs/cargo@v1
with:
command: sort
args: --workspace --check --check-format
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
- name: Generate Schema
uses: actions-rs/cargo@v1
with:
command: schema
args: --locked
- name: Schema Changes
# fails if any changes not committed
run: git diff --exit-code schema