chore: release v0.3.1 #424
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
on: | |
merge_group: | |
types: [checks_requested] | |
pull_request: | |
push: | |
branches: | |
- main | |
permissions: | |
security-events: read | |
contents: read | |
name: build | |
jobs: | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- uses: dtolnay/rust-toolchain@315e265cd78dad1e1dcf3a5074f6d6c47029d5aa # stable | |
with: | |
toolchain: stable | |
- run: cargo test --all-features -- --nocapture | |
test_wasm: | |
name: Test WebAssembly (WASI) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- uses: dtolnay/rust-toolchain@315e265cd78dad1e1dcf3a5074f6d6c47029d5aa # stable | |
with: | |
toolchain: stable | |
target: wasm32-wasi | |
- uses: taiki-e/install-action@f725b9adf3838dea66890ca9932712709858c409 | |
with: | |
tool: wasmtime,cargo-wasi | |
- env: | |
CARGO_TARGET_WASM32_WASI_RUNNER: "wasmtime --dir=." | |
run: cargo wasi test -- --nocapture | |
fmt_lint: | |
permissions: | |
contents: read | |
name: Format/Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- uses: dtolnay/rust-toolchain@315e265cd78dad1e1dcf3a5074f6d6c47029d5aa # stable | |
with: | |
toolchain: stable | |
components: rustfmt, clippy | |
- name: Cargo fmt | |
run: cargo fmt --all --check | |
- name: Cargo clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings | |
- name: Check for diffs | |
run: git diff --ignore-space-at-eol --exit-code | |
build: | |
runs-on: ubuntu-latest | |
needs: [tests, fmt_lint, test_wasm] | |
# Skipping this results job results in a misleading status on PRs and in the queue, | |
# so instead lets always return an explicit success or failure. | |
if: ${{ always() }} | |
steps: | |
- name: Collect results on success | |
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }} | |
run: echo "All checks passed" | |
- name: Collect results on failure | |
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
run: echo "Some checks failed" && false |