Skip to content

ci: extract reusable test workflow (closes #8)#9

Merged
ryanmcmillan merged 1 commit intomainfrom
chore/workflow-dedup
Apr 14, 2026
Merged

ci: extract reusable test workflow (closes #8)#9
ryanmcmillan merged 1 commit intomainfrom
chore/workflow-dedup

Conversation

@ryanmcmillan
Copy link
Copy Markdown
Member

Summary

Eliminates the drift trap that caused the `v0.2.1` first-publish failure when `pytest-asyncio` was added to `ci.yml` only.

Before

`ci.yml` and `publish.yml` each carried their own install + test steps. Dep changes had to update both files in lockstep.

After

`test.yml` is the single source of install + test. Both callers (`ci.yml` for PRs, `publish.yml` for tags) use `uses: ./.github/workflows/test.yml`.

`test.yml` is parametrized on `python-versions` (JSON array), so the reduced 3.9/3.11/3.13 matrix in publish.yml keeps its previous behavior.

Test plan

  • First PR CI run exercises the new path end-to-end
  • Matrix shape preserved: CI runs 3.9-3.13, publish runs 3.9/3.11/3.13
  • Will verify on next tag-push that publish.yml picks up the reusable correctly

Closes #8.

Sibling refactors coming in:

  • delega-mcp#18
  • delega-cli#23

🤖 Generated with Claude Code

Eliminates the drift trap that caused the v0.2.1 first-publish failure
when pytest-asyncio was added to ci.yml only. Single source of truth
for install + test in test.yml; both callers pick up dep changes
automatically.

- Create .github/workflows/test.yml (workflow_call, parametrized on
  python-versions JSON array, defaults to 3.9-3.13).
- ci.yml (PR gate) now calls the reusable with default matrix.
- publish.yml (tag gate) now calls the reusable with the reduced
  3.9/3.11/3.13 matrix matching its previous behavior, then gates
  the publish job on it.

Closes #8.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@ryanmcmillan ryanmcmillan merged commit 30051b8 into main Apr 14, 2026
5 checks passed
@ryanmcmillan ryanmcmillan deleted the chore/workflow-dedup branch April 14, 2026 19:57
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.

Deduplicate install+test step between ci.yml and publish.yml

1 participant