Skip to content

release: v1.0.0

release: v1.0.0 #5

Workflow file for this run

name: CI
on: [push, pull_request, workflow_dispatch]
permissions:
attestations: write
contents: read
id-token: write
jobs:
build-release:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
target-cpu: [x86-64, raptorlake, znver4]
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
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Setup Rust
uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.target }}
- name: Build
run: cargo build --release --target ${{ matrix.target }}
env:
RUSTFLAGS: -C target-cpu=${{ matrix.target-cpu }}
- name: Attest build provenance
uses: actions/[email protected]
if: ${{ github.event_name == 'push' }}
with:
subject-path: target/${{ matrix.target }}/release/*cambi.${{ matrix.ext }}
- name: Upload
uses: actions/[email protected]
with:
name: cambi-${{ matrix.target }}-${{ matrix.target-cpu }}
path: target/${{ matrix.target }}/release/*cambi.${{ matrix.ext }}
clippy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Setup Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Run Clippy
run: cargo clippy
rustfmt:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Setup Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Run rustfmt
run: cargo fmt -- --check
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Setup Rust
uses: dtolnay/rust-toolchain@nightly
- name: Run tests
run: cargo test