generic-statics 0.1.0

generic statics for rust
Documentation
name: CI

on:
  push:
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

env:
  RUSTFLAGS: -Dwarnings

jobs:
  rust:
    name: ${{ format('Rust {0}', matrix.name) }}
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        include:
          - name: Ubuntu
            os: ubuntu-latest
            rust: nightly
          - name: macOS
            os: macos-latest
            rust: nightly

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{matrix.rust}}

      - name: Test (Debug)
        run: cargo test -- --nocapture

      - name: Test (Rlease)
        run: cargo test --release -- --nocapture

  aarch64:
    name: Rust aarch64
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: nightly

      - uses: taiki-e/install-action@v2
        with:
          tool: cross

      - name: Test (Debug)
        run: cross test --target aarch64-unknown-linux-gnu -- --nocapture

      - name: Test (Rlease)
        run: cross test --release --target aarch64-unknown-linux-gnu -- --nocapture

  clippy:
    name: Clippy & Rustfmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: nightly
          components: clippy, rustfmt

      - run: cargo clippy --all-targets
      - run: cargo fmt --check