Skip to content

Add monthly build corpus and offline CI comparisons - #12

Closed
AdamZ-8113 wants to merge 2 commits into
Paliak:tests-branchfrom
AdamZ-8113:monthly-build-corpus-ci
Closed

Add monthly build corpus and offline CI comparisons#12
AdamZ-8113 wants to merge 2 commits into
Paliak:tests-branchfrom
AdamZ-8113:monthly-build-corpus-ci

Conversation

@AdamZ-8113

@AdamZ-8113 AdamZ-8113 commented Sep 6, 2026

Copy link
Copy Markdown

Replaces live URL downloads during build comparisons with a saved, validated monthly input corpus. The updater consumes PoB Codes' versioned batch, retains at most 500 unique codes in FIFO order, and publishes the manifest and exact bytes together on build-test-corpus. PR jobs pin one corpus commit and explicit base/head revisions, then calculate identical inputs offline.

Companion provider change: https://github.com/AdamZ-8113/pob-codes/pull/10

The host Python runner uses a pinned Docker environment, bounded parallelism/timeouts, and each revision's own runtime. It preserves ordinary DiffOutput.lua output: metric changes are advisory unless strict mode is requested; failed imports, crashes, empty outputs, and incomplete comparisons fail. Fixed-fixture smoke runs independently of corpus activation. Obsolete downloader/profile/Compose plumbing is removed.

Validation:

  • 12 Python tests and the existing 160-test Busted suite passed.
  • Five fixed input pairs matched in strict mode on the existing tests-branch runtime.
  • Nine input pairs (shared API fixtures, existing fixed fixtures, a current public build, and a synthetic minion build) matched in strict mode on dev 03ae46279c6570facabc5fb65ec5d171edc339fd, completing in 28 seconds locally.
  • Controlled stat drift returned advisory success / strict failure; empty output and incomplete runtime initialization failed.

This is deliberately a draft against tests-branch. The 2024 runtime cannot handle the tested modern 3.28 export. A supported runtime, 100/500-distinct-input GitHub-runner benchmarks, provider activation, and default-branch registration are prerequisites for enabling TEST_BUILD_CORPUS_ENABLED. A merge only to tests-branch does not activate GitHub scheduling. The updater uses no API secret and never force-pushes; a competing writer retries on the next daily run.

No legacy corpus migration, custom exporter, output cache, dashboard, or reporting pipeline is included. CONTRIBUTING.md documents the contract, reproduction commands, and provider/CI ownership.

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.

1 participant