name: CI
on:
pull_request:
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: make test-release-flow
- name: Read pinned Rust toolchain
run: |
python3 - <<'PYTHON' >> "$GITHUB_ENV"
import tomllib
from pathlib import Path
toolchain = tomllib.loads(Path("rust-toolchain.toml").read_text())["toolchain"]
print(f"RUSTUP_TOOLCHAIN={toolchain['channel']}")
PYTHON
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.RUSTUP_TOOLCHAIN }}
components: clippy, rustfmt
targets: wasm32-unknown-unknown
- run: make validate-toolchain
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Read declared MSRV
run: |
python3 - <<'PYTHON' >> "$GITHUB_ENV"
import tomllib
from pathlib import Path
package = tomllib.loads(Path("Cargo.toml").read_text())["package"]
print(f"RUSTUP_TOOLCHAIN={package['rust-version']}")
PYTHON
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.RUSTUP_TOOLCHAIN }}
- run: cargo check --all-targets