-
Notifications
You must be signed in to change notification settings - Fork 0
fix(ci): use just commands in CI and release workflows #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Refactor CI workflow to use just commands for consistency with local development workflow. This removes the obsolete server.py exclusion from mypy (file was removed in bcb12b4) and makes justfile's install command accept optional extras arguments. Changes: - CI now uses `just install`, `just lint`, `just mypy`, `just test` - justfile install command accepts variable extras arguments - Removes Python 3.9 special case for server.py exclusion
Add update-version, build, and publish commands to justfile and update release.yml to use them instead of direct uv calls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the CI workflow to use just commands instead of direct uv and mypy invocations, creating better consistency between CI and local development workflows. The changes simplify the CI configuration and remove obsolete Python version-specific workarounds.
Key changes:
- Replaced direct
uvand tool commands with correspondingjustcommands (just install,just lint,just mypy,just test) - Modified the
installcommand in justfile to accept variable extras arguments for flexibility - Removed Python 3.9 special case for
server.pyexclusion (file no longer exists)
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| justfile | Updated install command to accept variadic *extras parameter, allowing flexible package installation options |
| .github/workflows/ci.yml | Refactored to use just commands throughout, simplifying the workflow and removing Python version-specific mypy logic |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Install dependencies and pre-commit hooks | ||
| install: | ||
| uv sync --all-extras | ||
| install *extras: |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The install command now requires explicit arguments, which breaks backwards compatibility. When called without arguments (e.g., just install), it will run uv sync with no extras, whereas previously it would install all extras.
Consider providing a default value to maintain backwards compatibility:
install extras="--all-extras":
uv sync {{ extras }}
This allows the CI to override with different extras while maintaining sensible defaults for local development.
| install *extras: | |
| install extras="--all-extras": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 issue found across 2 files
Prompt for AI agents (all 1 issue)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="justfile">
<violation number="1" location="justfile:2">
P2: Default behavior change: `just install` without arguments no longer installs all extras. Previously it ran `uv sync --all-extras`, now it runs `uv sync` with no extras. Consider preserving the old default behavior with:
install *extras='--all-extras':
Or document that developers must now explicitly run `just install --all-extras`.</violation>
</file>
Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR
| # Install dependencies and pre-commit hooks | ||
| install: | ||
| uv sync --all-extras | ||
| install *extras: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: Default behavior change: just install without arguments no longer installs all extras. Previously it ran uv sync --all-extras, now it runs uv sync with no extras. Consider preserving the old default behavior with:
install *extras='--all-extras':
Or document that developers must now explicitly run just install --all-extras.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At justfile, line 2:
<comment>Default behavior change: `just install` without arguments no longer installs all extras. Previously it ran `uv sync --all-extras`, now it runs `uv sync` with no extras. Consider preserving the old default behavior with:
install *extras='--all-extras':
Or document that developers must now explicitly run `just install --all-extras`.</comment>
<file context>
@@ -1,6 +1,6 @@
# Install dependencies and pre-commit hooks
-install:
- uv sync --all-extras
+install *extras:
+ uv sync {{ extras }}
</file context>
| install *extras: | |
| install *extras='--all-extras': |
glebedel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Refactor CI and release workflows to use just commands for consistency with local development workflow.
Changes
just install,just lint,just mypy,just testjust update-version,just build,just publishupdate-version,build, andpublishcommands to justfile