Skip to content

Make nightly CI fail visibly and keep one publish path - #1

Merged
VesterlundCoder merged 2 commits into
mainfrom
release-review-2026-10
Oct 27, 2026
Merged

VesterlundCoder merged 2 commits into
mainfrom
release-review-2026-10

Conversation

@VesterlundCoder

Copy link
Copy Markdown
Contributor

Summary

CI-only change from the 2026-10-24 release review. No package code or version change, so no PyPI release is needed for this repo.

  • Nightly fails visibly: removed continue-on-error: true, pip install ... || true, pip install -e .[test] 2>/dev/null || pip install -e . and pytest ... || echo. Nightly now runs pip install --upgrade --upgrade-strategy eager -e ".[test]", pip check, pip freeze and pytest tests/ -v on Python 3.12.
  • Single publish path: removed release.yml (v* tag). Run history shows it failed with invalid-publisher because PyPI Trusted Publishing is registered for publish.yml, while publish.yml failed with 400 File already exists when both fired for the same tag.
  • publish.yml now: reusable tests.yml gate → tag vX.Y.Z must equal the pyproject version (on release events) → python -m build + twine check --strict → OIDC upload in the pypi environment. The file name and environment are unchanged, so the existing Trusted Publisher keeps working.
  • tests.yml gains a workflow_call trigger so the publish workflow can reuse it.

Test plan

  • actionlint passes on all workflows
  • Tests workflow green on this PR
  • Manually dispatch Nightly after merge and confirm it is green (or red only for real breakage)

Generated with Devin

David Vesterlund and others added 2 commits October 27, 2026 17:32
Release review 2026-10-24 found two CI problems shared by all SDK repos:

- nightly.yml used continue-on-error, "|| true" and "|| echo", so a broken
  install or failing test suite still produced a green run.
- publish.yml (release published) and release.yml (v* tag) could both try to
  upload the same version. Only publish.yml is registered as a PyPI Trusted
  Publisher; release.yml uploads failed with invalid-publisher.

Nightly now upgrades all dependencies eagerly, runs pip check and fails on
test failures. release.yml is removed; publish.yml is the single path and is
gated on tests.yml (now reusable via workflow_call), a tag/version match and
twine check --strict. No package code or version change.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@VesterlundCoder
VesterlundCoder merged commit 8fe6d5b into main Oct 27, 2026
6 checks passed
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.

1 participant