From be77cd76698b156c2bcaf9aa45bab36a02f9dcec Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Wed, 13 Jan 2021 11:21:57 +0100 Subject: [PATCH] gci: Expand matrix to include all CI configurations --- .github/workflows/ci.yaml | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0a49d9701..f1209a1a7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,8 +3,47 @@ name: Continuous Integration on: [push, pull_request] jobs: build-and-test: + name: Test DEV=${{ matrix.DEVELOPER }} VAL=${{ matrix.VALGRIND }} EXP=${{ matrix.EXPERIMENTAL_FEATURES }} + env: + DEVELOPER: 1 + VALGRIND: 0 + EXPERIMENTAL_FEATURES: 0 + COMPAT: 1 strategy: fail-fast: false + matrix: + include: + - {TEST_CMD: "make", NO_PYTHON: 1} + - {TEST_CMD: "make check-source check-units installcheck", COPTFLAGS: "-O3"} + - {ARCH: 32, TEST_CMD: "make check-source check-units installcheck", DEVELOPER: 0} + - {TEST_CMD: "make check-source check-units installcheck", EXPERIMENTAL_FEATURES: 1} + + # All of the following will just run `make pytest` + - {COMPILER: clang} + - {COMPILER: gcc, TEST_CHECK_DBSTMTS: 1} + - {DEVELOPER: 0, COMPAT: 0, TEST_GROUP: 1, TEST_GROUP_COUNT: 2} + - {DEVELOPER: 0, COMPAT: 0, TEST_GROUP: 2, TEST_GROUP_COUNT: 2} + + # All of these are pretty slo since they run under valgrind + - {VALGRIND: 1, TEST_GROUP: 1, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 2, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 3, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 4, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 5, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 6, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 7, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 8, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 9, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + - {VALGRIND: 1, TEST_GROUP: 10, TEST_GROUP_COUNT: 10, PYTEST_PAR: 3} + + # Various other configurations + - {NETWORK: liquid-regtest} + - {DB: postgres, PYTEST_PAR: 2} + + # The cross-compiled versions + - {ARCH: arm32v7, TARGET_HOST: arm-linux-gnueabihf} + - {ARCH: arm64v8, TARGET_HOST: aarch64-linux-gnu} + - {EXPERIMENTAL_FEATURES: 1} runs-on: ubuntu-20.04 steps: - name: Checkout @@ -83,6 +122,19 @@ jobs: elements-$ELEMENTS_VERSION - name: Build + env: + VALGRIND: ${{ matrix.VALGRIND }} + DEVELOPER: ${{ matrix.DEVELOPER }} + EXPERIMENTAL_FEATURES: ${{ matrix.EXPERIMENTAL_FEATURES }} + COMPILER: ${{ matrix.COMPILER }} + ARCH: ${{ matrix.ARCH }} + COMPAT: ${{ matrix.COMPAT }} + PYTEST_PAR: ${{ matrix.PYTEST_PAR }} + PYTEST_OPTS: ${{ matrix.PYTEST_OPTS }} + NETWORK: ${{ matrix.NETWORK }} + TEST_CMD: ${{ matrix.TEST_CMD }} + TEST_GROUP_COUNT: ${{ matrix.TEST_GROUP_COUNT }} + TEST_GROUP: ${{ matrix.TEST_GROUP }} run: | echo Running in $(pwd) export ARCH=${ARCH:-64}