Skip to content

ci: update taiki-e/install-action action to v2.68.18 #331

ci: update taiki-e/install-action action to v2.68.18

ci: update taiki-e/install-action action to v2.68.18 #331

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- v*
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
merge_group:
permissions:
contents: read
jobs:
build-release:
permissions:
id-token: write
contents: read
attestations: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
target-cpu: [x86-64-v3, x86-64-v4]
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
ext: so
- os: windows-latest
target: x86_64-pc-windows-gnu
ext: dll
- os: macos-latest
target: x86_64-apple-darwin
ext: dylib
- os: macos-latest
target: aarch64-apple-darwin
target-cpu: apple-m4
ext: dylib
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
with:
target: ${{ matrix.target }}
toolchain: nightly
- name: Print available CPUs
run: rustup run nightly rustc --print target-cpus
- name: Build
run: cargo build --release --target ${{ matrix.target }}
env:
RUSTFLAGS: -C target-cpu=${{ matrix.target-cpu }}
- name: Attest build provenance
uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
if: ${{ github.event_name == 'push' }}
with:
subject-path: target/${{ matrix.target }}/release/*cranexpr.${{ matrix.ext }}
- name: Upload
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: cranexpr-${{ matrix.target }}-${{ matrix.target-cpu }}
path: target/${{ matrix.target }}/release/*cranexpr.${{ matrix.ext }}
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
target-cpu: [x86-64-v3]
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
ext: so
- os: windows-latest
target: x86_64-pc-windows-gnu
ext: dll
- os: macos-latest
target: aarch64-apple-darwin
target-cpu: apple-m4
ext: dylib
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
with:
target: ${{ matrix.target }}
toolchain: nightly
- name: Install cargo-nextest
uses: taiki-e/install-action@edba51d32f66935a112c0516fec65a13d420cbc6 # v2.68.17
with:
tool: cargo-nextest
- name: Run tests
run: cargo nextest run --all-features --workspace
env:
RUSTFLAGS: -C target-cpu=${{ matrix.target-cpu }}
clippy:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
with:
components: clippy
toolchain: nightly
- name: Run Clippy
run: cargo clippy
rustfmt:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
with:
components: rustfmt
toolchain: nightly
- name: Run rustfmt
uses: actions-rust-lang/rustfmt@4066006ec54a31931b9b1fddfd38f2fdf2d27143 # v1.1.2
cargo-shear:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install cargo-shear
uses: taiki-e/install-action@edba51d32f66935a112c0516fec65a13d420cbc6 # v2.68.17
with:
tool: cargo-shear
- run: cargo shear