ci(firebird): dedicated live-Firebird job (close the coverage leak) - #35
Merged
Conversation
The main `test` job leaves Firebird a non-provisioned engine (its skips stay green by design via EXCLUDED_KEYWORDS=["firebird"] in test/_serviceGate.ts), so the firebird rollback/commit regression test only ever SKIPPED in CI — the exact gap that let the Firebird rollback no-op ship. Add a separate `firebird:` job that stands up a real Firebird 5.0.2, installs node-firebird (--no-save; core stays zero-dependency), and RUNS test/firebirdRollback.test.ts against it, plus the charset + url files. A no-silent-skip guard strips ANSI and fails the job unless the rollback test printed its PASS lines and "4 passed, 0 failed, 0 skipped" — a missing driver / unset URL / unreachable server prints a firebird SKIP and fails the job (the Node twin of PHP's `php -m | grep interbase`). Additive only: the main `test` job and its firebird service-gate exclusion are untouched (correct for that already-heavy multi-service runner). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
Adds a dedicated
firebird:job to.github/workflows/test.ymlthat runs the Firebird tests against a real Firebird 5.0.2 container, closing the CI coverage leak that let the Firebird rollback no-op ship (the rollback test only ever SKIPPED because Firebird is a non-provisioned engine in the maintestjob).How
firebirdsql/firebird:5.0.2+ anisqlreadiness loop that fails the job if FB never accepts a query.npm install+npm install node-firebird --no-save(the driver the adapter lazily requires; core stays zero-dependency).test/firebirdRollback.test.ts(live) plusfirebirdCharset+firebirdUrl.4 passed, 0 failed, 0 skipped; fails on anySKIP. A missing driver / unset URL / unreachable server prints a firebird SKIP → job FAILS. This is the Node twin of PHP'sphp -m | grep interbase.Scope
Additive only. The main
testjob and itsEXCLUDED_KEYWORDS=["firebird"]service-gate exclusion are untouched (that exclusion is correct for the main multi-service runner).PR is to run CI only — do not merge/tag.
🤖 Generated with Claude Code