diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e5dc6bf64..ef2d56955 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,9 +16,9 @@ jobs: include: # CFG us just an enumeration so we can refer to the configurations more easily - {CFG: 1, TEST_CMD: "make", NO_PYTHON: 1} - - {CFG: 2, TEST_CMD: "make check-source check-units installcheck", COPTFLAGS: "-O3"} + - {CFG: 2, TEST_CMD: "make check-source check-units installcheck check-gen-updated", COPTFLAGS: "-O3"} - {CFG: 3, ARCH: 32, TEST_CMD: "make check-source check-units installcheck", DEVELOPER: 0} - - {CFG: 4, TEST_CMD: "make check-source check-units installcheck", EXPERIMENTAL_FEATURES: 1} + - {CFG: 4, TEST_CMD: "make check-source check-units installcheck check-gen-updated", EXPERIMENTAL_FEATURES: 1} steps: - name: Checkout uses: actions/checkout@v2.0.0 diff --git a/Makefile b/Makefile index b2d635627..41e93ceca 100644 --- a/Makefile +++ b/Makefile @@ -485,6 +485,18 @@ check-source: check-makefile check-source-bolt check-whitespace check-markdown c full-check: check check-source +# Simple target to be used on CI systems to check that all the derived +# files were checked in and updated. It depends on the generated +# targets, and checks if any of the tracked files changed. If they did +# then one of the gen-targets caused this change, meaning either the +# gen-target is not reproducible or the files were forgotten. +# +# Do not run on your development tree since it will complain if you +# have a dirty tree. +check-gen-updated: $(ALL_GEN_HEADERS) $(ALL_GEN_SOURCES) wallet/statements_gettextgen.po $(MANPAGES) + @echo "Checking for generated files being changed by make" + git diff --exit-code HEAD $? + coverage/coverage.info: check pytest mkdir coverage || true lcov --capture --directory . --output-file coverage/coverage.info