name: test on: push: branches: - integration - '**-ci' - '**-cig' pull_request: branches: - integration - '**-ci' - '**-cig' 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=d9 --param=no-performance # Debian/Ubuntu documentation - param: doc --vm=u18 # All integration tests - param: test --vm=u20 --param=build-package --param=module=mock --param=module=real # All unit tests (with coverage) on the newest gcc available - param: test --vm=f33 --param=c-only --param=tz=America/New_York # RHEL documentation - param: doc --vm=rh8 # All integration tests - param: test --vm=rh7 --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 codeql: runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: - cpp steps: - name: Checkout Code uses: actions/checkout@v2 - name: Install Packages run: sudo apt-get install -y --no-install-recommends libyaml-dev - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: languages: ${{matrix.language}} - name: Build run: ${GITHUB_WORKSPACE?}/src/configure && make -j 2 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1