Skip to content

feat: add daily CI workflow to test integrations against latest dependency versions - #123

Open
wiliyam wants to merge 2 commits into
maldoinc:masterfrom
wiliyam:feat/daily-ci-integration-tests-121
Open

feat: add daily CI workflow to test integrations against latest dependency versions#123
wiliyam wants to merge 2 commits into
maldoinc:masterfrom
wiliyam:feat/daily-ci-integration-tests-121

Conversation

@wiliyam

@wiliyam wiliyam commented Apr 2, 2026

Copy link
Copy Markdown

Summary

Closes #121

Adds .github/workflows/daily_latest_integrations.yml — a scheduled job that runs the integration test suite daily against the latest released versions of each supported integration package.

What it does

  • Runs at 06:00 UTC daily (also manually triggerable via workflow_dispatch)
  • Tests each integration in parallel with fail-fast: false
  • Installs wireup editable + upgrades the integration package to latest before testing
  • Same Python 3.13 + uv setup as existing CI

@maldoinc maldoinc left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

It's probably best to rework this to reuse the existing tox definitions instead of duplicating them into this yaml workflow.


- name: Install wireup + latest integration deps
run: |
uv pip install --system -e ".[dev]"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

dev is a dependency group here, not an extra.

- name: Install wireup + latest integration deps
run: |
uv pip install --system -e ".[dev]"
uv pip install --system --upgrade ${{ matrix.package }}

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The matrix doesn't install all the required dependencies. For example, the Django job upgrades only Django, but the current tox env also needs djangorestframework, django-ninja, and typing_extensions.

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

wiliyam commented Apr 21, 2026

Copy link
Copy Markdown
Author

Thanks for the review @maldoinc — reworked in `3f9f78c` to address all three points:

  1. Reuse tox definitions — matrix now references tox env names (e.g. `py313-flask3`, `py313-django6`). The workflow runs `tox -e --notest` to build the tox venv using the deps already defined in `tox.ini`, then runs `tox -e --skip-pkg-install` for the actual test command. No more test-path or dep-list duplication between the workflow and tox.
  2. `dev` as dependency group — replaced `uv pip install -e ".[dev]"` with `make install` (which runs `uv sync --group dev`).
  3. Full Django dep set — matrix `packages` for django now includes `Django djangorestframework django-ninja typing_extensions` so the "upgrade to latest" step covers the full set that `py313-django6` actually uses. Same for `fastmcp` which now upgrades `fastapi starlette httpx fastmcp` together.

The `packages` field still lists what we want upgraded to latest (which is the whole point of the daily job — pin-ignore upgrade). Happy to drop it entirely and always upgrade all installed deps if you'd prefer — let me know.

@maldoinc

Copy link
Copy Markdown
Owner

Looks good overall. The only thing missing is the typer integration but other than that happy to merge.

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.

Add a daily CI job for latest integration versions

2 participants