Github Actions Cache (#205)

* trying out github actions cache

* split up build steps

* deactivated cache for macos

* debugging

* also for windows (?))

* clippy fix

* out folder ignored
This commit is contained in:
Dominik Maier 2021-07-02 20:51:22 +02:00 committed by GitHub
parent c01f1e3318
commit 84a9e36acf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 14 deletions

View File

@ -17,13 +17,10 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Cache cargo registry - uses: actions-rs/toolchain@v1
uses: actions/cache@v2
with: with:
path: | profile: minimal
~/.cargo/registry toolchain: stable
~/.cargo/git
key: clippy-cargo-${{ hashFiles('**/Cargo.toml') }}
- name: Add clippy - name: Add clippy
run: rustup component add clippy run: rustup component add clippy
#- name: Run clippy #- name: Run clippy
@ -36,8 +33,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Install deps - name: Install deps
run: sudo apt-get install -y llvm llvm-dev clang nasm run: sudo apt-get install -y llvm llvm-dev clang
- name: get clang version - name: get clang version
run: command -v llvm-config && clang -v run: command -v llvm-config && clang -v
- name: Install cargo-hack - name: Install cargo-hack
@ -62,12 +63,26 @@ jobs:
run: cargo test --all-features --doc run: cargo test --all-features --doc
- name: Run clippy - name: Run clippy
run: ./scripts/clippy.sh run: ./scripts/clippy.sh
- name: Build fuzzers ubuntu-fuzzers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Install deps
run: sudo apt-get install -y llvm llvm-dev clang nasm
- name: Build and run example fuzzers
run: ./scripts/build_all_fuzzers.sh run: ./scripts/build_all_fuzzers.sh
windows: windows:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Windows Build - name: Windows Build
run: cargo build --verbose run: cargo build --verbose
- name: Run clippy - name: Run clippy
@ -78,18 +93,33 @@ jobs:
runs-on: macOS-latest runs-on: macOS-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: MacOS Build - name: MacOS Build
run: cargo build --verbose run: cargo build --verbose
- name: Install deps
run: brew install llvm libpng nasm
- name: Run clippy - name: Run clippy
run: ./scripts/clippy.sh run: ./scripts/clippy.sh
- name: Build fuzzers
run: ./scripts/build_all_fuzzers.sh
- name: Increase map sizes - name: Increase map sizes
run: ./scripts/shmem_limits_macos.sh run: ./scripts/shmem_limits_macos.sh
- name: Run Tests - name: Run Tests
run: cargo test run: cargo test
macos-fuzzers:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Install deps
run: brew install llvm libpng nasm
- name: Increase map sizes
run: ./scripts/shmem_limits_macos.sh
- name: Build and run example fuzzers
run: ./scripts/build_all_fuzzers.sh
# TODO: Figure out how to properly build stuff with clang # TODO: Figure out how to properly build stuff with clang
#- name: Add clang path to $PATH env #- name: Add clang path to $PATH env
# if: runner.os == 'Windows' # if: runner.os == 'Windows'

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
target target
out
Cargo.lock Cargo.lock
*.o *.o

View File

@ -382,14 +382,14 @@ where
_sender_id, client_config, input _sender_id, client_config, input
); );
let res = if client_config == self.configuration { let _res = if client_config == self.configuration {
let observers: OT = postcard::from_bytes(&observers_buf)?; let observers: OT = postcard::from_bytes(&observers_buf)?;
fuzzer.process_execution(state, self, input, &observers, &exit_kind, false)? fuzzer.process_execution(state, self, input, &observers, &exit_kind, false)?
} else { } else {
fuzzer.evaluate_input_with_observers(state, executor, self, input, false)? fuzzer.evaluate_input_with_observers(state, executor, self, input, false)?
}; };
#[cfg(feature = "std")] #[cfg(feature = "std")]
if let Some(item) = res.1 { if let Some(item) = _res.1 {
println!("Added received Testcase as item #{}", item); println!("Added received Testcase as item #{}", item);
} }
Ok(()) Ok(())