Skip to content

Conversation

@ryoppippi
Copy link
Member

@ryoppippi ryoppippi commented Dec 18, 2025

Refactor CI and release workflows to use just commands for consistency with local development workflow.

Changes

  • CI now uses just install, just lint, just mypy, just test
  • Release workflow now uses just update-version, just build, just publish
  • justfile install command accepts variable extras arguments
  • Added update-version, build, and publish commands to justfile
  • Removes obsolete Python 3.9 special case for server.py exclusion (file was removed in bcb12b4)

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
Copilot AI review requested due to automatic review settings December 18, 2025 19:20
Add update-version, build, and publish commands to justfile and update
release.yml to use them instead of direct uv calls.
@ryoppippi ryoppippi changed the title chore(ci): use just commands instead of direct uv/mypy calls chore(ci): use just commands in CI and release workflows Dec 18, 2025
@ryoppippi ryoppippi changed the title chore(ci): use just commands in CI and release workflows fix(ci): use just commands in CI and release workflows Dec 18, 2025
Copy link
Contributor

Copilot AI left a 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 uv and tool commands with corresponding just commands (just install, just lint, just mypy, just test)
  • Modified the install command in justfile to accept variable extras arguments for flexibility
  • Removed Python 3.9 special case for server.py exclusion (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:
Copy link

Copilot AI Dec 18, 2025

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.

Suggested change
install *extras:
install extras="--all-extras":

Copilot uses AI. Check for mistakes.
Copy link

@cubic-dev-ai cubic-dev-ai bot left a 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:
Copy link

@cubic-dev-ai cubic-dev-ai bot Dec 18, 2025

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>
Suggested change
install *extras:
install *extras='--all-extras':
Fix with Cubic

Copy link
Contributor

@glebedel glebedel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ryoppippi ryoppippi merged commit 38a9dd6 into main Dec 18, 2025
7 checks passed
@ryoppippi ryoppippi deleted the chore/ci-use-just-commands branch December 18, 2025 19:34
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.

3 participants