Skip to content

ci: upgrade uv.lock with a scheduled workflow instead of dependabot - #865

Merged
nealrichardson merged 2 commits into
mainfrom
uv-lock-upgrade-workflow
Oct 14, 2026
Merged

nealrichardson merged 2 commits into
mainfrom
uv-lock-upgrade-workflow

Conversation

@nealrichardson

Copy link
Copy Markdown
Contributor

Dependabot's uv updater failed on every Python dependency (run). Because requires-python = ">=3.8", uv.lock resolves different versions for different Python ranges (e.g. ipykernel 6.29.5 / 6.31.0 / 7.3.0 for 3.8 / 3.9 / 3.10+). Dependabot tries to pin each package's newest version across all of them, which can't resolve for 3.8/3.9. uv lock --upgrade handles this fine.

  • Adds .github/workflows/uv-lock-upgrade.yml: weekly (Mon 10:00 UTC) and on manual run, runs uv lock --upgrade and opens or updates a PR on the uv-lock-upgrade branch, with uv's change summary in the PR body. It uses a GitHub App token (POSIT_CONNECT_PROJECTS_CLIENT_ID / POSIT_CONNECT_PROJECTS_PEM) so CI runs on the PR; PRs opened with GITHUB_TOKEN don't trigger workflows.
  • Removes the uv ecosystem from dependabot.yml; GitHub Actions updates stay with Dependabot.

After merging, trigger it once with gh workflow run uv-lock-upgrade.yml to check that it works. Review the first upgrade PR carefully: a dry run showed packaging moving from 26.2 down to 25.0, probably because an upgraded dependency caps it.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-14 13:51 UTC

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
8957 7733 86% 0% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 0a2b8da by action🐍

nealrichardson and others added 2 commits October 14, 2026 09:45
Dependabot's uv updater can't handle a lockfile that forks by Python
version (requires-python >= 3.8), so every update failed with
dependency_file_not_resolvable. Run `uv lock --upgrade` weekly and open
a PR using a GitHub App token so CI runs on it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@nealrichardson
nealrichardson force-pushed the uv-lock-upgrade-workflow branch from a444d9e to 0a2b8da Compare October 14, 2026 13:45
@nealrichardson
nealrichardson merged commit 41a009f into main Oct 14, 2026
24 checks passed
@nealrichardson
nealrichardson deleted the uv-lock-upgrade-workflow branch October 14, 2026 13:50
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