CI: gate the test job on make verify-results, not make test - #30
Conversation
pgxntool/base.mk marks installcheck .IGNORE so a pg_regress regression never makes `make test` exit non-zero -- it only prints the diff. The test job's "Test on PostgreSQL" step ran `make test`, so CI reported green even when every regression test failed. `make verify-results` runs the same TEST_DEPS chain but then actually inspects the pgTAP results and exits non-zero on failure; PGXNTOOL_ENABLE_VERIFY_RESULTS defaults to yes and PGXNTOOL_VERIFY_RESULTS_MODE to pgtap already, matching this suite's pgTAP-based tests, so no Makefile change is needed. This mirrors the pattern cat_tools and pg_count_nulls already use for the same reason. Co-Authored-By: Claude <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude finished @jnasbyupgrade's task in 2m 57s —— View job Code Review: CI: gate the test job on
|
pgxntool/base.mk marks installcheck
.IGNOREso a pg_regress regression never makesmake testexit non-zero -- it only prints the diff. The test job's "Test on PostgreSQL" step ranmake test, so CI reported green even when every regression test failed.make verify-resultsruns the sameTEST_DEPSchain but then actually inspects the pgTAP results and exits non-zero on failure;PGXNTOOL_ENABLE_VERIFY_RESULTSdefaults toyesandPGXNTOOL_VERIFY_RESULTS_MODEtopgtapalready in the vendored pgxntool 2.2.0, matching this suite's pgTAP-based tests, so no Makefile change is needed. This mirrors the pattern cat_tools and pg_count_nulls already use for the same reason (both callmake verify-results/make verify-results TEST_LOAD_SOURCE=updatein their own CI, with cat_tools documenting it inline as "the real gate").This PR will make CI report red on master. That's correct, not a regression from this change: every regression test is currently failing (
cat_tools.function__arg_types_text()was deprecated in cat_tools 0.3.0, and the resulting WARNING pollutes every test's expected-output diff) but CI has been silently reporting green the whole time because of themake testgap described above. #28 (already open) fixes the underlying cat_tools deprecation and will turn this green again once merged; this PR only fixes CI's ability to detect real failures, it does not touch the failing test itself.Confirmed locally:
make testexits 0 while printing "7 of 7 tests failed";make verify-resultsexits non-zero and reportsERROR: pgtap failure detected in test/results/all.out/not ok 1 - All object types are being tested./ plan mismatches.