siderophile 0.1.2

Find the ideal fuzz targets in a Rust codebase
name: CI

on:
  push:
    branches:
      - master
  pull_request:
  schedule:
    # run CI every day even if no PRs/merges occur
    - cron: "0 12 * * *"

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Install LLVM 12
        run: |
          wget https://apt.llvm.org/llvm.sh
          chmod +x llvm.sh
          sudo ./llvm.sh 12
      - uses: actions/checkout@v2
      - name: Format
        run: cargo fmt && git diff --exit-code
      - name: Lint
        run: |
          rustup update
          rustup component add clippy
          cargo clippy -- -D warnings -D clippy::pedantic -D clippy::nursery -D clippy::expect_used -D clippy::unwrap_used -D clippy::panic
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Install LLVM 12
        run: |
          wget https://apt.llvm.org/llvm.sh
          chmod +x llvm.sh
          sudo ./llvm.sh 12
      - uses: actions/checkout@v2
        with:
          submodules: recursive
      - name: Unit tests
        run: cargo test
      - name: Integration tests
        run: |
          cargo build --release
          cd tests
          ./run_tests.sh