1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/.github/workflows/test.yml
David Steele c5ae047e76 Partial migration of config code generation to C.
Parse enough of config.yaml to auto-generate config.auto.h and config.auto.c.

This commit implements most of the infrastructure needed to migrate the rest of the build code to C, but each set of auto-generated files will present its own challenges.

The build is now dependent on libyaml. At this point there is no need for a hard requirement, but that will come soon so it seems better to add the dependency now.
2021-07-18 19:02:01 -04:00

89 lines
2.4 KiB
YAML

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=u16 --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/CentOS 8 documentation
- param: doc --vm=co8
# 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
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