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@e5f8d33e7166e0491b2ab4ff0567cc6cd6772737 # v2.61.7 with: { tool: just } - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 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@e5f8d33e7166e0491b2ab4ff0567cc6cd6772737 # v2.61.7 with: { tool: just } - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 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