scratchstack-aspen 0.3.1

AWS IAM policy language (Aspen) parser and internal representation
Documentation
name: Rust

on:
  push:
    branches:
      - main
  pull_request_target:
    branches:
      - main
env:
  CARGO_INCREMENTAL: '0'
  RUSTFLAGS: '-Ccodegen-units=1 -Cinstrument-coverage -Copt-level=0'
  RUSTDOCFLAGS: '-Ccodegen-units=1 -Cinstrument-coverage -Copt-level=0'

jobs:
  build:
    runs-on: ubuntu-22.04
    timeout-minutes: 10
    steps:
    - uses: actions/checkout@v3
    - name: Install Rust nightly
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        override: true
        profile: default
    - name: Install coverage-run dependencies
      run: |
        sudo apt-get install -y llvm
        pip3 install --user toml
        cargo install rustfilt
    - name: Run Clippy check.
      uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        args: --all-features
    - name: Run formatting check.
      run: cargo fmt --check
    - name: Build and test with coverage data
      run: ./coverage-run.py --no-open --no-html
    - name: Upload coverage report to Coveralls
      uses: coverallsapp/github-action@master
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}
        path-to-lcov: scratchstack-aspen.lcov