|
@ -3,8 +3,47 @@ name: Continuous Integration |
|
|
on: [push, pull_request] |
|
|
on: [push, pull_request] |
|
|
jobs: |
|
|
jobs: |
|
|
build-and-test: |
|
|
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: |
|
|
strategy: |
|
|
fail-fast: false |
|
|
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 |
|
|
runs-on: ubuntu-20.04 |
|
|
steps: |
|
|
steps: |
|
|
- name: Checkout |
|
|
- name: Checkout |
|
@ -83,6 +122,19 @@ jobs: |
|
|
elements-$ELEMENTS_VERSION |
|
|
elements-$ELEMENTS_VERSION |
|
|
|
|
|
|
|
|
- name: Build |
|
|
- 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: | |
|
|
run: | |
|
|
echo Running in $(pwd) |
|
|
echo Running in $(pwd) |
|
|
export ARCH=${ARCH:-64} |
|
|
export ARCH=${ARCH:-64} |
|
|