From 8346118b90b24fe6cb27f46f53725a102b771c80 Mon Sep 17 00:00:00 2001 From: Sasa Junuzovic Date: Sun, 5 Apr 2026 10:47:28 -0700 Subject: [PATCH 1/2] fix: install uv+deps in agent sandbox, use make commands (#747) - copilot-setup-steps.yml: add setup-uv and uv sync --group dev - issue-implementer: replace hardcoded uv run chain with make fix && make check - review-responder: same - ci-fixer: same Agents can now run the full CI suite locally. Using Makefile targets ensures agents stay in sync with CI as commands evolve. Closes #747 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci-fixer.md | 2 +- .github/workflows/copilot-setup-steps.yml | 4 ++++ .github/workflows/issue-implementer.md | 6 +++--- .github/workflows/review-responder.md | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-fixer.md b/.github/workflows/ci-fixer.md index e6c85906..e1ead883 100644 --- a/.github/workflows/ci-fixer.md +++ b/.github/workflows/ci-fixer.md @@ -69,7 +69,7 @@ Read `.github/copilot-instructions.md` and follow all referenced guidelines for - pytest failures (assertion errors, missing fixtures, import errors) - bandit security warnings -7. After making fixes, run the checks locally to verify: `uv sync && uv run ruff check . && uv run ruff format --check . && uv run pyright && uv run pytest --cov --cov-fail-under=80 -v` +7. After making fixes, run `make fix` to auto-fix lint and format issues, then run `make check` to verify all checks pass: `make fix && make check` 8. Push the fix commit to the PR branch with a clear commit message like "fix: resolve CI failures (ruff/pyright/pytest)". diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 1bd48ae1..13db8621 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -24,3 +24,7 @@ jobs: uses: github/gh-aw/actions/setup-cli@d688a4a5fa8aa96ad18fa13f0b187c38548a275c # v0.66.1 with: version: v0.66.1 + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Install Python dependencies + run: uv sync --group dev diff --git a/.github/workflows/issue-implementer.md b/.github/workflows/issue-implementer.md index af5b6e11..b3305499 100644 --- a/.github/workflows/issue-implementer.md +++ b/.github/workflows/issue-implementer.md @@ -49,12 +49,12 @@ Read `.github/copilot-instructions.md` and follow all referenced guidelines for Read all files in the repository. Read issue #${{ github.event.inputs.issue_number }} to understand what needs to be fixed. Implement the fix following the spec in the issue, including any testing requirements. -Before committing, run the full CI check suite locally: +Before committing, run `make fix` to auto-fix lint and format issues, then run `make check` to verify all checks pass (lint, type check, security, tests): ``` -uv sync && uv run ruff check --fix . && uv run ruff format . && uv run pyright && uv run pytest --cov --cov-fail-under=80 -v +make fix && make check ``` -Fix any lint or type errors found by ruff/pyright before committing. Iterate until all checks pass cleanly. +Fix any remaining errors and iterate until `make check` passes cleanly. Open a pull request with the fix. The PR title should reference the issue number. The PR body MUST include `Closes #${{ github.event.inputs.issue_number }}` so GitHub auto-closes the issue when the PR merges. Include tests as specified in the issue. The PR must NOT be a draft — open it as a regular PR ready for review. diff --git a/.github/workflows/review-responder.md b/.github/workflows/review-responder.md index cc708214..3c2c4ad1 100644 --- a/.github/workflows/review-responder.md +++ b/.github/workflows/review-responder.md @@ -70,7 +70,7 @@ This workflow addresses unresolved review comments on a pull request. c. Make the requested fix in the code d. Reply to the comment thread using `reply_to_pull_request_review_comment` with the comment's `databaseId` as the `comment_id` -5. After addressing all comments, run the CI checks locally to make sure your fixes don't break anything: `uv sync && uv run ruff check --fix . && uv run ruff format . && uv run pyright && uv run pytest --cov --cov-fail-under=80 -v` +5. After addressing all comments, run `make fix` to auto-fix lint and format issues, then run `make check` to verify all checks pass: `make fix && make check` 6. If CI checks fail, fix the issues and re-run until they pass. Do not push broken code. From 17de8f15e3f729868a9484119adbc73c874c864f Mon Sep 17 00:00:00 2001 From: Sasa Junuzovic Date: Sun, 5 Apr 2026 11:10:53 -0700 Subject: [PATCH 2/2] fix: align setup-uv to v7 and use plain uv sync to match CI Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 13db8621..1f50cffa 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -25,6 +25,6 @@ jobs: with: version: v0.66.1 - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 - name: Install Python dependencies - run: uv sync --group dev + run: uv sync