@@ -725,17 +725,17 @@ gate_conf_python() {
725725 # tests/integration invocation in the repo (scripts/integration-test.sh,
726726 # docs/CONFORMANCE.md).
727727 #
728- # EXCEPT tests/integration when this selection also runs `integration-tests (python)`,
728+ # EXCEPT tests/integration when this invocation will really run `integration-tests (python)`,
729729 # which is that directory: running it here too ran its ~380 Postgres and MySQL scenarios
730- # twice per full run. Under --no-integration (conformance.yml) it stays in, because half
731- # of it needs no docker (the generated-lane and normalization tests) and this is then the
732- # only step that runs it.
730+ # twice per full run. Under --no-integration (conformance.yml), or with docker down (that
731+ # step is then only a SKIP), it stays in, because half of it needs no docker ( the
732+ # generated-lane and normalization tests) and this is then the only step that runs it.
733733 #
734734 # -n: pytest-xdist. The suite is ~4,000 independent tests, many of which shell out to a
735735 # formatter or compile generated code, so it is wall-clock bound, not CPU bound; serial it
736736 # was the longest step in the full run. MO_CI_PY_WORKERS overrides the worker count.
737737 local skip_integ=" --ignore=tests/integration"
738- [ " $NO_INTEG " -eq 1 ] && skip_integ=" "
738+ if [ " $NO_INTEG " -eq 1 ] || ! docker info > /dev/null 2>&1 ; then skip_integ=" " ; fi
739739 ( cd server/python && uv run --extra integration pytest tests/ $skip_integ -q -n " ${MO_CI_PY_WORKERS:- 8} " )
740740}
741741gate_conf_kotlin () {
0 commit comments