diff options
author | Petri Lehtinen <petri@digip.org> | 2020-12-14 20:36:03 +0200 |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2021-01-14 21:12:02 +0200 |
commit | 0bc4325222b8a4ef818aeda8364dd89f8800709f (patch) | |
tree | fe2527d2ca27fe3cf6fb91507701631cd7e17a90 /.github/workflows | |
parent | fd3e9e3051fa17d293db7974863d84b512457528 (diff) | |
download | jansson-0bc4325222b8a4ef818aeda8364dd89f8800709f.zip jansson-0bc4325222b8a4ef818aeda8364dd89f8800709f.tar.gz jansson-0bc4325222b8a4ef818aeda8364dd89f8800709f.tar.bz2 |
GitHub Actions
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/tests.yml | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..6ee0b7e --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,92 @@ +name: tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: ./scripts/clang-format-check + + autotools: + strategy: + matrix: + os: ["ubuntu-latest", "macos-latest"] + cc: ["gcc", "clang"] + + runs-on: ${{matrix.os}} + + steps: + - if: ${{runner.os == 'macOS'}} + run: brew install autoconf automake libtool + - uses: actions/checkout@v2 + - run: autoreconf -fi + - env: + CC: ${{matrix.cc}} + CFLAGS: -Werror + run: ./configure + - run: make check + + cmake: + strategy: + matrix: + os: ["ubuntu-latest", "macos-latest", "windows-latest"] + cc: ["gcc", "clang"] + exclude: + - os: windows-latest + cc: gcc + - os: windows-latest + cc: clang + include: + - os: windows-latest + cc: 'msvc' # Doesn't really matter, MSVC is always used on Windows + + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v2 + - env: + CC: ${{matrix.cc}} + run: cmake . + - run: cmake --build . + - run: ctest + + valgrind: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: sudo apt update && sudo apt install valgrind + - run: cmake -DJANSSON_TEST_WITH_VALGRIND=ON . + - run: cmake --build . + - run: ctest + + coveralls: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: sudo apt update && sudo apt install curl lcov + - run: cmake -DJANSSON_COVERAGE=ON -DJANSSON_COVERALLS=ON -DCMAKE_BUILD_TYPE=Debug + - run: cmake --build . + - run: cmake --build . --target coveralls + + fuzz: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: | + git clone https://github.com/google/oss-fuzz.git /tmp/ossfuzz + if [ "$GITHUB_HEAD_REF" ]; then + BRANCH=${GITHUB_HEAD_REF##*/} + else + BRANCH=${GITHUB_REF##*/} + fi + sed -i "s@https://github.com/akheron/jansson.git@-b $BRANCH https://github.com/${{github.repository}}.git@" /tmp/ossfuzz/projects/jansson/Dockerfile + pushd /tmp/ossfuzz + python infra/helper.py build_image --pull jansson + python infra/helper.py build_fuzzers jansson + popd |