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: windows-latest - os: ubuntu-latest steps: - uses: taiki-e/install-action@2ca9b94c269419b7b0c711c09d0b21c4e1d51145 # v2.83.1 with: { tool: just } - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - run: just -v ci-test msrv: name: Rust tests MSRV (Minimal Supported Rust Version) runs-on: ubuntu-latest steps: - uses: taiki-e/install-action@2ca9b94c269419b7b0c711c09d0b21c4e1d51145 # v2.83.1 with: { tool: just } - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - 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@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable with: toolchain: ${{ steps.metadata.outputs.rust-version }} - run: just ci-test-msrv