name: test on: push: branches: - integration - '**-ci' - '**-cig' pull_request: jobs: test: runs-on: ubuntu-18.04 strategy: # Let all the jobs run to completion even if one fails fail-fast: false # The first jobs should be the canaries in the coal mine, i.e. the most likely to fail if there are problems in the code. They # should also be a good mix of unit, integration, and documentation tests. # # In general tests should be ordered from slowest to fastest. This does not make a difference for testing a single commit, but # when multiple commits are being tested it is best to have the slowest jobs first so that as jobs become available they will # tackle the slowest tests first. matrix: include: # All unit (without coverage) and integration tests for 32-bit - param: test --vm=u12 --param=no-performance # Debian/Ubuntu documentation - param: doc --vm=u18 # All integration tests - param: test --vm=u18 --param=build-package --param=module=mock --param=module=real # All unit tests (with coverage) on the newest gcc available - param: test --vm=f32 --param=c-only --param=no-performance --param=tz=America/New_York # RHEL/CentOS 7 documentation - param: doc --vm=co7 # All integration tests - param: test --vm=co7 --param=module=mock --param=module=real steps: - name: Checkout Code uses: actions/checkout@v2 with: path: pgbackrest - name: Run Test run: cd ${HOME?} && ${GITHUB_WORKSPACE?}/pgbackrest/test/ci.pl ${{matrix.param}} --param=build-max=2