name: testing on: push: pull_request: jobs: quicktest: name: Quick test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run minimal test set run: | ./autogen.sh ./configure make test fulltest: needs: quicktest name: Full test runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: - ubuntu-latest - ubuntu-18.04 - macos-latest steps: - uses: actions/checkout@v2 - if: runner.os == 'Linux' name: Install essential run: | sudo apt-get update sudo apt-get install build-essential - if: runner.os == 'macOS' name: Install packages run: | brew install automake gcovr - name: generate a makefile and use it to install more packages run: | ./autogen.sh ./configure make build-dep shell: bash - name: Run the real configure step run: | CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="--coverage" ./configure --with-zstd shell: bash - name: Run embedded tests run: make test shell: bash - if: ${{ always() }} name: Upload tests output uses: actions/upload-artifact@v2 with: name: tests-out-${{matrix.os}} path: tests/*.out - name: Generate coverage reports run: | make cover make gcov shell: bash - name: Upload gcovr report artifact uses: actions/upload-artifact@v2 with: name: coverage-${{matrix.os}} path: coverage - name: Upload data to codecov uses: codecov/codecov-action@v2