Skip to content

Feat/even more faster testing#3996

Open
tetelio wants to merge 26 commits into
develfrom
feat/even-more-faster-testing
Open

Feat/even more faster testing#3996
tetelio wants to merge 26 commits into
develfrom
feat/even-more-faster-testing

Conversation

@tetelio
Copy link
Copy Markdown
Contributor

@tetelio tetelio commented May 29, 2026

Summary

Goal is having faster and reliable CI for dlt OSS.

What was done?

  • Common tests split into parallel jobs — Instead of one long job per OS/Python version, common CI now runs three suites in parallel: core/min-deps/workspace, full pipeline, and SQLAlchemy 2. Same coverage, shorter wall-clock time.
  • Source tests split — Local source jobs separate “sources load” (SQLAlchemy 1.4) from sql_database (SQLAlchemy 2) so they run concurrently instead of back-to-back.
  • dbt runner split — No-venv and venv dbt tests run as parallel matrix jobs.
  • Lighter Lance S3 CI — Non-essential Lance S3 tests no longer run on every PR (essential coverage unchanged). A remote destination, especially if slow, can only be executing all essential and non essential tests only for a limited amount of time. Does it really still need to execute all tests every CI run?
  • Docs CI runners — Docs snippet tests use faster Blacksmith runners.
  • Clearer job names — Shorter, consistent names in the GitHub checks UI (lint, common, local, remote, etc.).
  • Automatic retries — Integration-heavy suites (local load, remote destinations, dashboard e2e) retry once on failure to absorb transient flakes.
  • Local common scope — Workspace tests removed from make test-common (still covered in CI); keeps the default local pre-push loop focused and faster.
  • Fixed flaky duckdb local desitnation test with incosistent dataset dimension
  • TODO: @burnash @rudolfix we need to remove the essential mark from remote destination tests that dont need to be run every CI run (especially if they take very long).

IMPORTANT and related to (#3997)

  • Optional early destination runs — PR label test-destinations-early starts local/remote destination, local source, and dbt jobs without waiting for common to finish (lint and common still run in order). Use only when you have already run lint and common locally. The related PR offers running a set of prek pre-push convenience commands to make sure make fl and make test-common-p are run locally before any push, in order to avoid wasting remote destination CI time, the slowest.

@tetelio tetelio added the test-destinations-early This label makes all destination tests start early and not wait for common label May 29, 2026
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 29, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
docs 101dfdd Commit Preview URL

Branch Preview URL
May 29 2026, 10:48 AM

@blacksmith-sh

This comment has been minimized.

@tetelio tetelio marked this pull request as ready for review May 29, 2026 11:56
@tetelio tetelio requested review from burnash and rudolfix and removed request for rudolfix May 29, 2026 12:58
@tetelio tetelio self-assigned this May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test-destinations-early This label makes all destination tests start early and not wait for common

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant