Skip to content

UN-3479 [FIX] release workflow: install --all-extras to match PR gate#18

Merged
jaseemjaskp merged 1 commit into
mainfrom
fix/release-install-all-extras
May 27, 2026
Merged

UN-3479 [FIX] release workflow: install --all-extras to match PR gate#18
jaseemjaskp merged 1 commit into
mainfrom
fix/release-install-all-extras

Conversation

@chandrasekharan-zipstack
Copy link
Copy Markdown
Contributor

Summary

Follow-up to #17. The release-workflow dispatch on main (run 26506941508) failed at pytest collection:

tests/clone/test_cli.py:12: in <module>
    from click.testing import CliRunner
E   ModuleNotFoundError: No module named 'click'

Root cause: main.yml installs uv sync --dev but test.yml (PR gate, after #16) installs uv sync --dev --all-extras. The clone extra carries click + rich, needed for tests/clone/test_cli.py. So PR CI passed while the release dispatch failed — same code, different env.

Fix: align main.yml's install step with test.yml. Both now run uv sync --dev --all-extras.

Test plan

  • CI on this PR — lint-and-test (3.11) and lint-and-test (3.12) continue green
  • After merge: manual main.yml dispatch with minor bump → expect clean v1.3.0 release end-to-end (lint + test + build + publish + commit/tag/release all succeed)

🤖 Generated with Claude Code

test.yml installs --dev --all-extras (PR #16) so tests/clone/test_cli.py
can import click; main.yml was still on bare --dev, so the release run
failed at pytest collection while PR CI passed.

Now both workflows use identical install + lint + test commands.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 27, 2026

Greptile Summary

This PR aligns the release workflow's dependency install step with the PR-gate workflow by adding --all-extras to uv sync --dev, fixing a ModuleNotFoundError: No module named 'click' that caused the prior release run to fail at pytest collection.

  • .github/workflows/main.yml line 69: uv sync --devuv sync --dev --all-extras, matching test.yml and ensuring the clone extra (which carries click + rich) is available when tests run during a release dispatch.
  • Minor inconsistency (non-blocking): test.yml invokes pytest with -v (uv run pytest tests/ -v) while main.yml still uses uv run pytest tests/ — no functional impact on the fix here, but worth keeping in mind if verbose output from the release run is ever needed.

Confidence Score: 5/5

Safe to merge — single-line change adds --all-extras to bring the release workflow in sync with the PR gate.

The change is a one-line fix that directly addresses the confirmed root cause of the release failure. Both workflows now install an identical dependency set, eliminating the environment mismatch. No logic, secrets, or published artifacts are affected.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/main.yml Adds --all-extras to uv sync --dev so the release workflow installs the same dependency set as the PR gate (test.yml), fixing a ModuleNotFoundError for click during pytest collection.

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant PR as PR Gate (test.yml)
    participant Release as Release Workflow (main.yml)
    participant uv as uv sync
    participant pytest as pytest

    Dev->>PR: Open pull request
    PR->>uv: uv sync --dev --all-extras
    uv-->>PR: Installs click, rich (clone extra)
    PR->>pytest: uv run pytest tests/ -v
    pytest-->>PR: ✅ All tests pass (click available)

    Dev->>Release: Dispatch workflow_dispatch
    Note over Release: Before fix: uv sync --dev
    Release->>uv: uv sync --dev (OLD)
    uv-->>Release: Missing click, rich
    Release->>pytest: uv run pytest tests/
    pytest-->>Release: ❌ ModuleNotFoundError: click

    Note over Release: After fix: uv sync --dev --all-extras
    Release->>uv: uv sync --dev --all-extras (NEW)
    uv-->>Release: Installs click, rich (clone extra)
    Release->>pytest: uv run pytest tests/
    pytest-->>Release: ✅ All tests pass
Loading

Reviews (1): Last reviewed commit: "fix(ci): sync release-workflow install w..." | Re-trigger Greptile

@jaseemjaskp jaseemjaskp merged commit 22cfd68 into main May 27, 2026
3 checks passed
@jaseemjaskp jaseemjaskp deleted the fix/release-install-all-extras branch May 27, 2026 11:05
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