acpi 6.1.1

A pure-Rust library for interacting with ACPI
Documentation
name: Build

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        include:
          - TARGET: x86_64-unknown-linux-gnu
            OS: ubuntu-latest
          - TARGET: aarch64-unknown-linux-gnu
            OS: ubuntu-latest
          - TARGET: i686-unknown-linux-gnu
            OS: ubuntu-latest

    runs-on: ${{ matrix.OS }}
    env:
      TARGET: ${{ matrix.TARGET }}

    steps:
    - uses: actions/checkout@v2
      with:
        submodules: 'recursive'
      
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        default: true
        profile: minimal
        target: ${{ matrix.target }}
        components: llvm-tools-preview
        
    - name: Build crates
      run: cargo build --target $TARGET

  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: 'recursive'
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        default: true
        profile: minimal

    - name: Install dependencies
      run: sudo apt-get install -y acpica-tools

    - name: Run tests
      run: cargo test

    - name: Run AML test suite
      run: cargo run_tests -p tests

  clippy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: 'recursive'
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        default: true
        profile: minimal
        components: clippy

    - name: Run clippy
      run: cargo clippy

    - name: Run clippy (tests)
      run: cargo clippy --tests