Skip to content

PyDABs: Pass --frozen to uv run so the Taskfile never rewrites uv.lock - #6987

Draft
janniklasrose wants to merge 2 commits into
mainfrom
janniklasrose/pydabs/taskfile-lock
Draft

janniklasrose wants to merge 2 commits into
mainfrom
janniklasrose/pydabs/taskfile-lock

Conversation

@janniklasrose

Copy link
Copy Markdown
Member

Changes

The PyDABs uv run invocations in python/Taskfile.yml now pass --frozen, so
uv consumes the committed uv.lock as-is instead of re-resolving. A plain
uv run rewrites the lockfile's registry/package URLs to the internal
*.databricks.com PyPI proxy whenever uv/pip is proxy-configured (locally, or
via setup-jfrog in CI), which surfaces as spurious uv.lock / codegen/uv.lock
diffs.

pydabs-codegen previously papered over this by reverting the lockfiles after
generating (git checkout -- uv.lock codegen/uv.lock); with --frozen the churn
never happens, so that cleanup is dropped.

--frozen is applied to the five project uv run calls: pydabs-test,
pydabs-lint (pyright), pydabs-docs, and both pydabs-codegen calls. It is
deliberately not added to uv lock --check (whose job is to detect a stale
lock) or to the --no-project / lockless --script invocations elsewhere (no
lock to freeze). It matches the existing pattern for internal/genkit/tagging.py,
which already runs uv run --frozen --script.

Why

Running any PyDABs task in a proxy-configured shell left uv.lock and
codegen/uv.lock dirty with proxy URLs — environment noise that could be
committed by accident. --frozen fixes it at the source rather than reverting
after the fact.

Tests

Ran pydabs-codegen, pydabs-docs, and pydabs-test in a proxy-configured
shell: all pass and leave the working tree clean (no lockfile churn), with no
change to generated output. uv run --frozen pyright runs clean too.
pydabs-lint as a whole still stops at its pre-existing uv lock --check step,
which fails on the proxy↔pypi.org URL mismatch — unrelated to this change.

This pull request and its description were written by Isaac.

A plain `uv run` re-resolves and rewrites the committed uv.lock URLs to the
internal *.databricks.com PyPI proxy whenever uv/pip is proxy-configured
(locally or via setup-jfrog in CI). pydabs-codegen worked around this by
reverting the lockfiles afterwards (`git checkout -- uv.lock codegen/uv.lock`).

Pass `--frozen` to the five project `uv run` invocations (pydabs-test,
pydabs-lint, pydabs-docs, and both pydabs-codegen calls) so uv consumes the
committed lock as-is and never churns it, and drop the now-redundant revert.

Co-authored-by: Isaac <no-reply@databricks.com>
@github-actions github-actions Bot added the PyDABs label Oct 8, 2026
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 144a108

Run: 37777041643

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 276 16 5:41
✅​ aws-windows-latest-4core-16gb 278 14 3:30
✅​ azure linux-2core-8gb 275 16 6:11
✅​ azure-windows-latest-4core-16gb 277 14 3:36
✅​ gcp linux-2core-8gb 276 16 5:28
✅​ gcp-windows-latest-4core-16gb 278 14 3:21
Top 6 slowest tests (at least 2 minutes):
duration env testname
4:01 aws linux-2core-8gb TestAccept
3:51 azure linux-2core-8gb TestAccept
3:47 gcp linux-2core-8gb TestAccept
3:28 aws-windows-latest-4core-16gb TestAccept
3:22 azure-windows-latest-4core-16gb TestAccept
3:19 gcp-windows-latest-4core-16gb TestAccept

This branch has not been deployed

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants