chore: separate gh action jobs for running tests and checking cosmwasm compilation #3
Workflow file for this run
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
# 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 |