Skip to content

ci: add post-publish smoke test workflow - #66

Merged
higagan merged 1 commit into
mainfrom
ci/post-publish-smoke-test
Aug 4, 2026
Merged

ci: add post-publish smoke test workflow#66
higagan merged 1 commit into
mainfrom
ci/post-publish-smoke-test

Conversation

@higagan

@higagan higagan commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Triggers automatically on tag push (v*) or manual dispatch. Installs the published package from PyPI in a clean environment and runs a smoke test against the published artifact — not the source tree.

What it checks:

  • Shield: URLAllowList safe call passes, blocked call raises ModelFuzzBlockError
  • Shield: default keyword filter safe call passes, blocked call raises
  • Async: shielded coroutine safe + blocked
  • CLI: modelfuzz --version matches modelfuzz.__version__
  • py.typed present in installed files
  • sdist is clean (no stray files like .claude/.env/__pycache__, py.typed and AGENTS.md present)

This catches breakage that only surfaces in the published package — missing files, bad metadata, dependency resolution failures — that the in-repo CI can't detect because it tests the source tree directly.

Usage:

  • Automatic: pushing a v* tag (your normal release flow) triggers it
  • Manual: gh workflow run smoke-test.yml -f version=0.3.8 or via the Actions UI

Triggers on tag push (v*) or manual dispatch. Installs the published
package from PyPI in a clean environment and runs a smoke test:

- Shield: URLAllowList safe call + blocked call
- Shield: default keyword filter safe call + blocked call
- Async: shielded coroutine safe + blocked
- CLI: modelfuzz --version matches package version
- py.typed present in installed files
- sdist is clean (no stray files, py.typed and AGENTS.md present)

This catches breakage that only surfaces in the published artifact —
missing files, bad metadata, dependency resolution failures — that
the in-repo CI can't detect because it tests the source tree directly.
@higagan
higagan merged commit 37323b2 into main Aug 4, 2026
5 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