Skip to content

ci: scale-tag nightly + drop scale tests from PR CI#75

Merged
aksOps merged 1 commit intomainfrom
chore/scale-tag-nightly
Apr 24, 2026
Merged

ci: scale-tag nightly + drop scale tests from PR CI#75
aksOps merged 1 commit intomainfrom
chore/scale-tag-nightly

Conversation

@aksOps
Copy link
Copy Markdown
Contributor

@aksOps aksOps commented Apr 24, 2026

Summary

  • Three slow regression tests move behind //go:build scale:
    • TestImportTar_TotalBytesCap (520 MB tar payload, ~8s)
    • TestScale_1000Notes (1k file writes, ~10s)
    • TestHNSW_Recall10k (10k-vector index build, ~55s)
  • New .github/workflows/nightly.yml runs -tags "sqlite_fts5 scale" at 06:00 UTC daily + workflow_dispatch.
  • PR CI drops ~70s per run; nightly catches any scale regression within 24h.
  • normalizeVec helper moves into hnsw_recall_scale_test.go (its only caller).

Closes #62, #63, #64.

Test Plan

  • go vet -tags sqlite_fts5 ./... clean (default)
  • go vet -tags 'sqlite_fts5 scale' ./... clean (nightly)
  • Scale tests pass under -tags scale (recall@10 = 1.000, 520 MB tar rejected 413, 1000 notes listed)
  • flake-register gate simulation: 0 violations
  • Default test suite unchanged, ~70s faster

Before: three long-running regression tests used `testing.Short()`
guards to stay out of `go test -short` local runs, but CI never
passed `-short` so they ran on every PR:
  - TestImportTar_TotalBytesCap (~8s, 520 MB tar payload)
  - TestScale_1000Notes (~10s, 1k file writes)
  - TestHNSW_Recall10k (~55s, 10k-vector index build)

After: each lives in a dedicated `_scale_test.go` file behind
`//go:build scale` and is compiled only when the tag is passed. PR
CI drops ~70s per run; correctness coverage stays intact via the
new `nightly.yml` workflow that runs `-tags "sqlite_fts5 scale"` at
06:00 UTC and on workflow_dispatch.

Side effects:
  - The old `if raceEnabled { t.Skip }` guard in TestHNSW_Recall10k
    is retired because nightly runs the scale tests without `-race`
    (workload is sequential — concurrency coverage lives in
    TestHNSW_ConcurrentAddSearch, which still runs under -race on
    every PR).
  - normalizeVec moved into hnsw_recall_scale_test.go (its only
    caller) so default test builds no longer carry dead helpers.

Closes #62, #63, #64.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@aksOps aksOps enabled auto-merge (squash) April 24, 2026 04:36
@aksOps aksOps merged commit 72832dd into main Apr 24, 2026
11 checks passed
@aksOps aksOps deleted the chore/scale-tag-nightly branch April 24, 2026 04:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

flake-register: skip large-tar test in -short mode

1 participant