Skip to content

Run lint in separate CI step instead of pytest - #803

Merged
max-rozen-oss-db merged 7 commits into
mainfrom
add-lint-justfile
Sep 25, 2026
Merged

max-rozen-oss-db merged 7 commits into
mainfrom
add-lint-justfile

Conversation

@max-rozen-oss-db

@max-rozen-oss-db max-rozen-oss-db commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Today, the whole test run can fail due to lint errors. Instead run lint (ruff/ty) in a separate job. Tests run only after lint passes so you get faster fedback. Pin ruff and ty. Add a justfile to run lint locally via just; gha runs the same file.

Linting previously ran through `tests/test_lint.py`, so a formatting or
type error surfaced as a "Unit tests" failure rather than a lint failure.

Move linting into a dedicated CI `Lint` job that runs `just lint`, and add
a justfile whose `lint` recipe is the single source of truth for the gate
(ruff check + ruff format --check + ty). Local and CI now run the identical
recipe. `just fix` autofixes. Drop the now-redundant lint tests.

The unit, e2e, and integration test jobs `needs: lint`, so a lint failure
skips them and blocks the merge via the existing required-* gates (and
avoids spending runner time on the e2e matrix when lint is red).

Co-authored-by: Isaac <no-reply@databricks.com>
Pin ruff==0.16.5 and ty==0.0.75 (the versions already resolved) in the dev
dependency group. Both tools' output shifts between releases, so a floating
version means local and CI can disagree about what "passes" the lint gate;
pinning keeps them identical and makes bumps intentional, reviewable changes.

Edit only the two matching specifiers in uv.lock — the resolved versions are
unchanged, so this avoids the unrelated re-resolution churn a full `uv lock`
would pull in from pre-existing lockfile drift.

Co-authored-by: Isaac <no-reply@databricks.com>
@max-rozen-oss-db
max-rozen-oss-db marked this pull request as ready for review September 23, 2026 02:07
@max-rozen-oss-db max-rozen-oss-db changed the title Add just lint gate and run it in CI instead of via pytest Run lint in separate CI step instead of pytest Sep 23, 2026
Comment thread .github/workflows/ci.yml Outdated
Comment thread justfile
@max-rozen-oss-db
max-rozen-oss-db merged commit 082a787 into main Sep 25, 2026
22 checks passed
@max-rozen-oss-db
max-rozen-oss-db deleted the add-lint-justfile branch September 25, 2026 17:57
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.

2 participants