name: tests on: push: branches: [ master ] pull_request: branches: [ master ] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: ./scripts/clang-format-check autotools: strategy: matrix: os: ["ubuntu-latest", "macos-latest"] cc: ["gcc", "clang"] dtoa: ["yes", "no"] runs-on: ${{ matrix.os }} steps: - if: ${{runner.os == 'macOS'}} run: brew install autoconf automake libtool - uses: actions/checkout@v4 - run: autoreconf -fi - env: CC: ${{ matrix.cc }} CFLAGS: -Werror run: ./configure --enable-dtoa=${{ matrix.dtoa }} - 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@v4 - env: CC: ${{matrix.cc}} run: cmake . - run: cmake --build . - run: ctest --output-on-failure valgrind: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: sudo apt update && sudo apt install valgrind - run: cmake -DJANSSON_TEST_WITH_VALGRIND=ON . - run: cmake --build . - run: ctest --output-on-failure