Skip to content

Add reverse-dependency CI against the dialect packages - #8

Merged
nbenn merged 1 commit into
mainfrom
revdep-ci
Aug 29, 2026
Merged

Add reverse-dependency CI against the dialect packages#8
nbenn merged 1 commit into
mainfrom
revdep-ci

Conversation

@nbenn

@nbenn nbenn commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Runs nbenn/sqlr.postgres and nbenn/sqlr.sqlite test suites against the sqlr built from the branch under test, so a core change that breaks a dialect fails here rather than in a downstream repo hours later.
  • Core's own suite dispatches on a test dialect and touches no database. That is deliberate, but it means core CI cannot observe a broken dialect at all — this closes the gap without adding a database dependency to the package.
  • Two guards exist because the obvious failure mode of a revdep check is passing while testing the wrong thing. One asserts the branch build actually replaced the Remotes: nbenn/sqlr copy pulled from main; the other asserts the Postgres service is reachable, since the round-trip tests skip themselves when it is not and a skip is indistinguishable from a pass in the summary line.
  • Modelled on BristolMyersSquibb/blockr.ci, with three deliberate departures: it is a plain workflow rather than a reusable one (a single upstream, not an org of them), it triggers on pull_request rather than merge_group (this repo has no merge queue, so merge_group would never fire), and it runs the dialect suites rather than a full R CMD check on each.

The revdep-all aggregator gives branch protection one stable check name, so adding a dialect to the matrix does not mean editing the required-checks list.

This package's own suite dispatches on a test dialect, which is what
keeps it free of database dependencies -- and also means nothing in it
can catch a change that breaks a real dialect. That signal only exists
downstream, so this brings it back to where the change is made.

Each leg installs the dialect's dependencies, then overwrites sqlr with
the build from this branch, then runs the dialect's suite. Two steps
guard against a green run that tested nothing: one fails if the
overwrite did not take and main's sqlr is still installed, the other
fails if the postgres service is unreachable, since the round-trip tests
skip themselves in that case and a skip reads as a pass in the summary.
@nbenn
nbenn marked this pull request as ready for review August 29, 2026 06:31
@nbenn
nbenn merged commit 8325581 into main Aug 29, 2026
8 checks passed
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