mirror of https://github.com/madler/zlib.git
These workflows will be run to verify that project generation, source file compilation, and test cases run successfully.pull/720/head
parent
352cb28d12
commit
67eb09a20b
3 changed files with 133 additions and 0 deletions
@ -0,0 +1,62 @@ |
||||
name: CMake |
||||
on: [push, pull_request] |
||||
jobs: |
||||
ci-cmake: |
||||
name: ${{ matrix.name }} |
||||
runs-on: ${{ matrix.os }} |
||||
strategy: |
||||
fail-fast: false |
||||
matrix: |
||||
include: |
||||
- name: Ubuntu GCC |
||||
os: ubuntu-latest |
||||
compiler: gcc |
||||
|
||||
- name: Ubuntu GCC ISB |
||||
os: ubuntu-latest |
||||
compiler: gcc |
||||
build-dir: "." |
||||
src-dir: "." |
||||
|
||||
- name: Ubuntu Clang |
||||
os: ubuntu-latest |
||||
compiler: clang |
||||
|
||||
- name: Ubuntu Clang Debug |
||||
os: ubuntu-latest |
||||
compiler: clang |
||||
build-config: Debug |
||||
|
||||
- name: Windows MSVC Win32 |
||||
os: windows-latest |
||||
compiler: cl |
||||
cmake-args: -A Win32 |
||||
|
||||
- name: Windows MSVC Win64 |
||||
os: windows-latest |
||||
compiler: cl |
||||
cmake-args: -A x64 |
||||
|
||||
- name: macOS Clang |
||||
os: macos-latest |
||||
compiler: clang |
||||
|
||||
- name: macOS GCC |
||||
os: macos-latest |
||||
compiler: gcc-9 |
||||
|
||||
steps: |
||||
- name: Checkout repository |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Generate project files |
||||
run: cmake -S ${{ matrix.src-dir || '../zlib' }} -B ${{ matrix.build-dir || '../build' }} ${{ matrix.cmake-args }} -D CMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} |
||||
env: |
||||
CC: ${{ matrix.compiler }} |
||||
|
||||
- name: Compile source code |
||||
run: cmake --build ${{ matrix.build-dir || '../build' }} --config ${{ matrix.build-config || 'Release' }} |
||||
|
||||
- name: Run test cases |
||||
run: ctest -C Release --output-on-failure --max-width 120 |
||||
working-directory: ${{ matrix.build-dir || '../build' }} |
@ -0,0 +1,46 @@ |
||||
name: Configure |
||||
on: [push, pull_request] |
||||
jobs: |
||||
ci-configure: |
||||
name: ${{ matrix.name }} |
||||
runs-on: ${{ matrix.os }} |
||||
strategy: |
||||
fail-fast: false |
||||
matrix: |
||||
include: |
||||
- name: Ubuntu GCC |
||||
os: ubuntu-latest |
||||
compiler: gcc |
||||
configure-args: --warn |
||||
|
||||
- name: Ubuntu GCC ISB |
||||
os: ubuntu-latest |
||||
compiler: gcc |
||||
configure-args: --warn |
||||
build-dir: "." |
||||
src-dir: "." |
||||
|
||||
- name: macOS GCC |
||||
os: macos-latest |
||||
compiler: gcc-9 |
||||
configure-args: --warn |
||||
|
||||
steps: |
||||
- name: Checkout repository |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Generate project files |
||||
run: | |
||||
[ -d ${{ matrix.build-dir || '../build' }} ] || mkdir ${{ matrix.build-dir || '../build' }} |
||||
cd ${{ matrix.build-dir || '../build' }} |
||||
${{ matrix.src-dir || '../zlib' }}/configure ${{ matrix.configure-args }} |
||||
env: |
||||
CC: ${{ matrix.compiler }} |
||||
|
||||
- name: Compile source code |
||||
run: make -j2 |
||||
working-directory: ${{ matrix.build-dir }} |
||||
|
||||
- name: Run test cases |
||||
run: make test |
||||
working-directory: ${{ matrix.build-dir }} |
@ -0,0 +1,25 @@ |
||||
name: OSS-Fuzz |
||||
on: [pull_request] |
||||
jobs: |
||||
Fuzzing: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Build Fuzzers |
||||
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master |
||||
with: |
||||
oss-fuzz-project-name: 'zlib' |
||||
dry-run: false |
||||
|
||||
- name: Run Fuzzers |
||||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master |
||||
with: |
||||
oss-fuzz-project-name: 'zlib' |
||||
fuzz-seconds: 300 |
||||
dry-run: false |
||||
|
||||
- name: Upload Crash |
||||
uses: actions/upload-artifact@v3 |
||||
if: failure() |
||||
with: |
||||
name: artifacts |
||||
path: ./out/artifacts |
Loading…
Reference in new issue