fixed gates for core builds - #6030
Merged
Merged
Conversation
Contributor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR adds shared multi-pass monitoring for provider harness runs, standalone runner-library tests, release workflow test gates, and repository-relative SQLite paths for Python integration tests. ChangesProvider harness monitoring
Release pipeline gating
Integration test path portability
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Makefile
participant harness-monitor.mjs
participant Newman
participant PassManifest
participant StatusFiles
Makefile->>PassManifest: Register main and cache-parity passes
Makefile->>Newman: Run provider collections
Newman->>StatusFiles: Write request and provider statuses
harness-monitor.mjs->>PassManifest: Poll pass entries
harness-monitor.mjs->>StatusFiles: Read per-pass statuses
harness-monitor.mjs->>harness-monitor.mjs: Aggregate totals and final statuses
Makefile->>harness-monitor.mjs: Close passes and perform one teardown
Possibly related PRs
Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
akshaydeo
marked this pull request as ready for review
August 10, 2026 15:11
This was referenced Aug 11, 2026
Merged
Merged
atharvamhaske
pushed a commit
to atharvamhaske/bifrost
that referenced
this pull request
Aug 13, 2026
This was referenced Aug 13, 2026
akhsaul
pushed a commit
to akhsaul/bifrost
that referenced
this pull request
Aug 27, 2026
occcat
pushed a commit
to occcat/bifrost
that referenced
this pull request
Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
The harness monitor previously spawned a new process per newman invocation, so a full sweep (main pass + deferred cache-parity pass) produced two unrelated tables with zeroed counters. This PR replaces that with a single long-lived monitor process that follows a pass manifest file (
tmp/harness-monitor-passes.jsonl) for the entire lifetime ofmake run-provider-harness-test, accumulating counters across all passes into one table.A separate bug is also fixed: the
RE_REQUEST_DONEregex previously matched only a single word after the HTTP status code, so400 Bad Request,500 Internal Server Error, and similar multi-word statuses fell through every rule and were counted as neither pass nor fail. On a real sweep this silently dropped 1,362 of 1,937 completed requests from the table.Changes
tmp/harness-monitor-passes.jsonl(add_pass,end_pass,monitor_noteshell helpers). The monitor polls this file and registers/closes passes dynamically rather than being told about a single run at startup.stop_monitoris now called once at the very end of the target instead of after each newman invocation. This means one alt-screen exit, one persistent table snapshot, and one$GITHUB_STEP_SUMMARYblock permakerun.end_passprevents the cache-parity log from being replayed into the main pass's counters when the Makefile appends it totmp/newman-cli.log.--ci-reprint-tablerestores the old behaviour for debugging.RE_REQUEST_DONEregex fix: Changed(?:\s+[A-Za-z]+)?to(?:\s+[A-Za-z]+)*so multi-word HTTP status texts are matched.seqProvider,seqPendingName, andseqFolderare now per-tail rather than module-level globals, so two concurrent sequential tails (PARALLEL=0 main + cache-parity) cannot cross-contaminate each other's attribution state.test-core-integrationsandtest-core-unitadded as release gate dependencies: Both jobs were missing from theneedsandifconditions of every release job (core-release,framework-release,plugins-release,bifrost-http-release, and all Docker release jobs). They were required to succeed but not waited on, so a release could proceed while they were still running or had failed.test-api-integrationswas similarly missing from the Docker release jobs.HARNESS_PROVIDERSused consistently: The hardcoded provider list in the parallel branch is replaced with the$(HARNESS_PROVIDERS)variable already used everywhere else.lib/monitor-passes.mjs(manifest parsing, collection walking, denominator helpers) andlib/newman-log-lines.mjs(regex patterns andclassifyLine) are split out ofharness-monitor.mjsso they can be imported by tests without triggering the monitor's top-level side effects.monitor-passes.test.mjs,newman-log-lines.test.mjs, andmonitor-lifecycle.test.mjscover the manifest parser, collection walkers, and log line classifier. Atest-harness-runner-libMakefile target runs them with no network, no Bifrost, and no credentials.Type of change
Affected areas
How to test
Breaking changes
Related issues
Security considerations
None. No auth, secrets, PII, or sandboxing changes.
Checklist
docs/contributing/README.mdand followed the guidelines