Skip to content

CI never exercises the integration tests, because it has no Babel release that publishes the Parquet files #28

Description

@gaurav

CI's integration-test job runs on every push to main and on a weekly cron, but it uses the committed public BABEL_RELEASES_URL, which does not publish the DuckDB Parquet files. Every Parquet-dependent test therefore skips, and CI reports green without having exercised any of the code those tests cover.

That is working as designed — a public contributor should not need a private URL to get a green build — but it means the integration suite is only ever run by hand, on a developer machine, by someone who remembers to. The bugs it would have caught are real and have happened twice already:

Both were invisible for the same reason: the code path only executes against a release that publishes the files.

What would need deciding

The blocker is not the workflow, it is where the URL lives. Options, roughly in increasing order of commitment:

  1. A repository secret plus a scheduled job. BABEL_RELEASES_URL as an Actions secret, used only by a workflow_dispatch + cron job, never by PR builds. Keeps the URL out of the tree and out of fork PRs, but puts it somewhere GitHub admins can read, and this repository has already had one incident of that URL leaking (see the history-rewrite note in CLAUDE.md).
  2. A self-hosted runner with the URL in its environment. No secret in GitHub at all, but somebody has to own the runner.
  3. Leave CI as is and run it manually before releases, with a documented checklist. Cheapest; relies on discipline, which is what we have now.

Also worth sizing before committing to 1 or 2: Concord.parquet is 4.6 GB in 2026jul22 and its tests are not marked slow, so even -m "integration and not slow" is a multi-gigabyte download per run. See #18, which tracks that sizing question — this issue is about whether CI ever gets the URL at all, and the two should probably be decided together.

Affected

  • .github/workflows/ci.yml — the integration-test job
  • CLAUDE.md — the note that a couple of dozen skips is the expected result

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions