Skip to content

Legacy LanceDB removals from PyPI break the test and release matrix #92

Description

@gordonmurray

Summary

The CI matrix can no longer install LanceDB 0.3.1, 0.3.4, or 0.5. These releases have disappeared from the PyPI project index, and their version-specific JSON endpoints now return 404.

As a result, every new PR fails as soon as a legacy matrix entry reaches the dependency-install step. The build job is then skipped because it depends on the test matrix. A future release would also be unable to rebuild or publish the three legacy image variants.

Observed on 2026-09-01 in the #91 workflow run:
https://github.com/lance-format/lance-data-viewer/actions/runs/33558260185

Typical failure:

ERROR: Could not find a version that satisfies the requirement lancedb==0.3.4
ERROR: No matching distribution found for lancedb==0.3.4

Pinning an older pip does not help because the release files are no longer available from the index.

Local runner issue

testing/run-tests.sh all does not stop when a Docker build fails. If an image with the same tag already exists locally, it runs that cached image and eventually prints All 8 versions passed. This can hide the dependency failure and test stale environments.

Proposed direction

Preserve legacy support without committing large wheel files:

  • For 0.3.1, 0.3.4, and 0.5, use the last published GHCR images as the dependency base and layer the current application source and web assets on top.
  • Build legacy test images from those published variants, installing only pytest and httpx2.
  • Continue clean PyPI installs for releases that remain available.
  • Make the local runner stop immediately when an image build fails so cached images cannot produce a false pass.
  • Verify that both amd64 and arm64 legacy base images are still published before changing the release build.

The alternative is to archive the original wheels in a durable project-controlled location and install them with pinned hashes. Silently dropping the legacy variants would break the documented compatibility contract.

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

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions