ci: allow core team to merge workflow changes (#289) #5
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: blacksmith-32vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.73.0 | |
override: true | |
- name: Install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Cache build artifacts | |
uses: useblacksmith/rust-cache@v3 | |
with: | |
shared-key: "cache" | |
- name: Run tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --locked | |
env: | |
RUSTFLAGS: --cfg tracing_unstable | |
RUST_BACKTRACE: 1 | |
cosmwasm-compilation: | |
name: Cosmwasm Compilation | |
runs-on: blacksmith-32vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.73.0 | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Cache build artifacts | |
uses: useblacksmith/rust-cache@v3 | |
with: | |
shared-key: "cache" | |
- name: Build wasm release | |
run: | | |
for C in ./contracts/*/ | |
do | |
echo "Compiling `basename $C`..." | |
(cd $C && cargo build --release --lib --target wasm32-unknown-unknown --locked) | |
done | |
- name: Install cosmwasm-check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: --debug --version 1.3.3 --locked cosmwasm-check | |
- name: Check wasm contracts | |
run: cosmwasm-check ./target/wasm32-unknown-unknown/release/*.wasm | |
lints: | |
name: Lints | |
runs-on: blacksmith-16vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.73.0 | |
override: true | |
components: rustfmt, clippy | |
- name: Install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Cache build artifacts | |
uses: useblacksmith/rust-cache@v3 | |
with: | |
shared-key: "cache" | |
- name: Install cargo-sort | |
uses: baptiste0928/cargo-install@v2 | |
with: | |
crate: cargo-sort | |
- 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 -A deprecated | |
- name: Check Diff | |
# fails if any changes not committed | |
run: git diff --exit-code |