Skip to content

Commit 1bb086f

Browse files
committed
ci: remove stdio from Python release gate
1 parent b049ddf commit 1bb086f

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

‎.github/workflows/integration.yml‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,11 @@ jobs:
5252
matrix:
5353
include:
5454
# launch: the primary lane, over the reusable AF_UNIX launcher transport.
55-
# stdio: the subprocess compatibility lane (whole suite).
5655
# shm: launch + the POSIX shared-memory side channel. Rides the
57-
# launcher, not raw subprocess: stdio already covers the
58-
# fork-per-connection path and spends most of its wall-clock
59-
# doing it, so re-paying that cost to test shm is waste.
56+
# launcher, not raw subprocess, to avoid paying the
57+
# fork-per-connection cost for the whole suite.
6058
# http: the whole suite over the stateless HTTP transport.
6159
- { lane: launch }
62-
- { lane: stdio }
6360
- { lane: shm, shm_bytes: '67108864' }
6461
- { lane: http }
6562
name: integration (${{ matrix.lane }})

‎ci/README.md‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,12 @@ suite against the Python worker (see the project `CLAUDE.md`).
4646
## Transport lanes
4747

4848
`run-integration.sh` honours `TRANSPORT=stdio|shm|launch|http` and defaults to
49-
`launch` when the variable is omitted (the workflow runs every lane explicitly
50-
as a matrix):
49+
`launch` when the variable is omitted. CI runs `launch`, `shm`, and `http` as a
50+
matrix; `stdio` remains available for local compatibility testing:
5151

52-
- **`stdio`** — the subprocess compatibility lane; the whole suite.
52+
- **`stdio`** — the local subprocess compatibility lane; the whole suite. It is
53+
not a CI release gate because its fork-per-connection runtime largely
54+
duplicates the launcher lane.
5355
Also boots the versioned and versioned-tables workers as background HTTP
5456
servers (`VGI_VERSIONED_HTTP_WORKER` / `VGI_VERSIONED_TABLES_HTTP_WORKER`) so
5557
the `attach/versioned_tables_*_http` and `versioning_http` tests run.
@@ -72,8 +74,9 @@ as a matrix):
7274
the launcher-only tests (`launcher/*`), whose options apply solely to the
7375
`launch:` dispatch path and which the other lanes skip via `require-env`.
7476
The versioned / versioned-tables *http* worker vars are left unset (as in
75-
`test_launcher`), so those tests skip here — stdio covers them. One deliberate
76-
divergence from `test_launcher`: see `filter_echo_partitioned.test` below.
77+
`test_launcher`), so those tests skip here; run the local stdio lane to cover
78+
them. One deliberate divergence from `test_launcher`: see
79+
`filter_echo_partitioned.test` below.
7780
- **`http`** — the whole suite over the stateless HTTP transport. Staging
7881
injects `LOAD httpfs` before each worker ATTACH (the prebuilt binary doesn't
7982
statically link httpfs).
@@ -113,7 +116,7 @@ flag in the test is the single source of truth.)
113116
Dropped on the **http** lane only:
114117

115118
- `projection_pushdown_repro.test` — one POST per two rows; transport-agnostic,
116-
fully covered by stdio.
119+
fully covered by launch.
117120
- `dynamic_filter.test` — Top-N + dynamic-filter continuation terminates early
118121
over http in the prebuilt binary (a property of that C++ build).
119122
- `partitioned_sequence.test` and `table_in_out/buffer_input/sizes.test` —

0 commit comments

Comments
 (0)