FRET-LibAFL/.github/workflows/build_and_test.yml
Dominik Maier 7f72d70977
Windows Fuzzing Example (#41)
* windows fuzzer target and minor changes - breaks android support and maybe linux build

* adapted windows example

* removed warnings from build.rs

* fixed build on unix

* fixed no_std

* build fix, silenced warnings

* no_std warning silenced

* clippy fixes

* fmt

* windows fuzzer target and minor changes - breaks android support and maybe linux build

* adapted windows example

* removed warnings from build.rs

* fixed build on unix

* fixed no_std

* build fix, silenced warnings

* no_std warning silenced

* clippy fixes

* fmt

* clippy

* trying to add clang support

* debugging win build

* debugging win build more

* debuggin..

* debuggin....

* more debugging

* giving up

Co-authored-by: richinseattle <richinseattle@gmail.com>
2021-03-23 13:50:22 +01:00

74 lines
2.1 KiB
YAML

name: Build and Test
on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]
env:
CARGO_TERM_COLOR: always
jobs:
lint:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Cache cargo registry
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
key: clippy-cargo-${{ hashFiles('**/Cargo.toml') }}
- name: Add clippy
run: rustup component add clippy
- name: Run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all
ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Default Build
run: cargo build --verbose
- name: Default Test
run: cargo test --verbose
- name: Build all features
run: cd libafl && cargo build --all-features --verbose
- name: Test all features
run: cd libafl && cargo test --all-features --verbose
- name: Build no_std
run: cd libafl && cargo build --no-default-features --verbose
- name: Test no_std
run: cd libafl && cargo test --no-default-features --verbose
- name: Build examples
run: cargo build --examples --verbose
- uses: actions/checkout@v2
- name: Format
run: cargo fmt -- --check
- uses: actions/checkout@v2
- name: Build Docs
run: cargo doc
- name: Test Docs
run: cargo test --doc
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Windows Build
run: cargo build --verbose
# TODO: Figure out how to properly build stuff with clang
#- name: Add clang path to $PATH env
# if: runner.os == 'Windows'
# run: echo "C:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
#- name: Try if clang works
# run: clang -v
#- name: Windows Test
# run: C:\Rust\.cargo\bin\cargo.exe test --verbose