arm-gic 0.8.0

A driver for the Arm Generic Interrupt Controller version 2, 3 or 4.
name: Rust

on:
  push:
    branches: [main]
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    permissions:
      checks: write
    runs-on: ubuntu-latest
    continue-on-error: true
    strategy:
      matrix:
        target:
          - aarch64-unknown-none
          - armv7a-none-eabi
    steps:
      - uses: actions/checkout@v6
      - name: Install ${{ matrix.target }} toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: ${{ matrix.target }}
      - name: Build
        run: cargo build --target ${{ matrix.target }}
      - name: Run clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --target ${{ matrix.target }}

  test:
    permissions:
      checks: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Test on host
        run: cargo test --features=fakes
      - name: Run clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --features=fakes

  format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Format Rust code
        run: cargo fmt --all -- --check