ci: run PostgreSQL tests in isolated lane - #6730
Conversation
de8c835 to
0ffeede
Compare
0ffeede to
92c231e
Compare
60086c1 to
05dcc2a
Compare
TheSentinel454
left a comment
There was a problem hiding this comment.
Checks are failing, please look into that.
42097c0 to
e5ab1bb
Compare
|
🤖 Follow-up on the earlier “Checks are failing” review note: I fixed the workflow environment scoping and the PostgreSQL schema/isolation issues exposed by the broad lane, then reran the exact pushed head. The PostgreSQL job passed 282/282 tests, and the complete GitHub CI workflow is green: https://github.com/block/buzz/actions/runs/32867749069. An independent exact-head Blox review also found no substantive issues. |
b702a5c to
89228d7
Compare
d75c468 to
616d23f
Compare
🔐 Codex Security Review
|
Signed-off-by: Luke Tornquist <tornquist@squareup.com>
Signed-off-by: Luke Tornquist <tornquist@squareup.com>
Signed-off-by: Luke Tornquist <tornquist@squareup.com>
Signed-off-by: Luke Tornquist <tornquist@squareup.com>
Signed-off-by: Luke Tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
Signed-off-by: tornquist <tornquist@squareup.com>
7809198 to
8ab6bba
Compare
Why
PR #6660 introduced four PostgreSQL-backed persistence tests and a focused CI selector, but an exact test-name list does not automatically cover future database tests. Broad ignored-test execution also exposed shared-schema races and ambiguity between desired-state and migration-applied schema expectations.
What
postgres_tests, PostgreSQL integration binaries use apostgres_prefix, and unrelated external-infrastructure tests use anexternal_infra_prefix.template0databases while desired-state tests clone the desired-state database.This is intentionally limited to test and CI harness behavior. It does not move production database code, change persistence semantics, or implement issue #20's broader shared test-utility refactor.
Risk
Low production risk because all changes are confined to tests, CI configuration, documentation, and test harness scripts.
Remaining operational risks:
dropdb --forcefive times across roughly four seconds. Exhaustion warns with the database name but deliberately does not mask the test result; individual PostgreSQL diagnostics are suppressed.buzz-voicebecausesherpa-onnx-c-apiis absent. The branch changes no voice/build/toolchain inputs; the exact parent previously passed that job, and Blox passes the same infrastructure-free suite (1,450/1,450). A prior-head one-job retry and the final-head run both reproduced the hosted-runner failure.Verification
Author Blox workstation
2020088:cargo fmt --all -- --checkjust clippyjust test-unit: 1,450 passed; PostgreSQL tests remain skipped in fast jobsCREATEDB,CREATEROLE, andpg_read_all_statsGitHub exact final head
92c231e48f299ea2af23817763f5ae80ac013d68:sherpa-onnx-c-apinative-link failure described above2022762: no substantive findings after all initial findings were addressed. The reviewer independently verified cleanup retry behavior, exit-status preservation, shell portability, syntax, and a clean exact-head worktree.References
561de54be4d9c2b622b7c2aa5b61bc3068f47e2aGenerated with Codex.
Update — August 24, 2026 review follow-up
just goosefor one-command agent setup + fix API token auth #20.external_infra_*_testsmodules now own exclusion, and the nextest filter only recognizes module path segments.Performance profiling on Blox workstation
2027352(same prebuilt archive and cargo-nextest 0.9.143 for every comparison):createdbcalls and 284dropdbcalls consumed 28.85–29.46 aggregate seconds, about 39–40% of aggregate test-process duration.TRUNCATE … RESTART IDENTITY CASCADE: all 282 tests passed, but total time regressed to 10.47–10.67s. The 265 truncate calls consumed 24.34–25.45 aggregate seconds, so truncation merely replaced most clone/drop cost.pg_stat_activityrace. The profile remains at the proven-safe 8 workers.Decision: retain unique per-test databases. Harness cleanup uses
dropdb --if-exists --force; it drops the database rather than truncating tables or deleting rows.Verification at local branch head
60086c1f6ee34a193c342255a5e8e6293b60e988:cargo fmt --all -- --checkand all-target/all-feature clippy forbuzz-db,buzz-deletion, andbuzz-relaypassed.Final independent re-review at exact head
42097c0136ab3fa8f0efe5720ae829c04575b9b6on separate Blox workstation2028455: no substantive residual findings. The reviewer independently exercised ordinary strings, zero/one/three-hash raw strings, line/block comments, and string-contained lookalikes, then reran the full 353-file scan, shell syntax, Python AST parsing, and diff check.Independent review found that the source guard's initial regular expression could miss raw-string ignore reasons and treat a commented attribute as real. Final head
42097c0136ab3fa8f0efe5720ae829c04575b9b6parses valid ordinary/raw Rust string literals only at attributes found in comment-sanitized source; regression fixtures cover both cases. The fixture suite, Python compilation, shell syntax, diff check, and full 353-file repository scan pass on Blox.Update — August 25, 2026 restack
PR #6660 merged, so this follow-up was rebased from its former exact parent onto current
origin/main(8d2d0ff5ad42733e9949442c4b6358d0ba87f9a8). The final candidate head is05dcc2ab28948e3ab79bb44839a69f2ba44648a2; the PR no longer carries #6660's pre-squash history.Fresh exact-head verification on Blox workstation
2028572:cargo fmt --all -- --checkand all-target/all-feature clippy forbuzz-db,buzz-deletion, andbuzz-relaypassed.Update — August 25, 2026 final hosted verification
42097c0136ab3fa8f0efe5720ae829c04575b9b6.