Files
MapLibreParticleLab/.github/workflows/rust-ci.yaml
2025-09-01 19:12:02 +00:00

47 lines
1.3 KiB
YAML

name: rust-ci
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
defaults:
run:
working-directory: rustutils/
jobs:
test:
name: Rust tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- os: macos-latest # M-series CPU
- os: macos-13 # x64 CPU
- os: windows-latest
- os: ubuntu-latest
steps:
- uses: taiki-e/install-action@020705266844b275b711684191e11281be48860c # v2
with: { tool: just }
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
- run: just -v ci-test
msrv:
name: Rust tests MSRV (Minimal Supported Rust Version)
runs-on: ubuntu-latest
steps:
- uses: taiki-e/install-action@020705266844b275b711684191e11281be48860c # v2
with: { tool: just }
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
- name: Read crate metadata
id: metadata
run: echo "rust-version=$(sed -ne 's/rust-version *= *\"\(.*\)\"/\1/p' Cargo.toml)" >> "$GITHUB_OUTPUT"
- name: Install Rust
uses: dtolnay/rust-toolchain@5d458579430fc14a04a08a1e7d3694f545e91ce6 # stable
with:
toolchain: ${{ steps.metadata.outputs.rust-version }}
- run: just ci-test-msrv