feat: add python-package-check composite action#11
Merged
Conversation
Adds a composite action that verifies built sdist + wheel artifacts in `dist/` install and import correctly. Includes Python lint/type-check tooling (ruff + ty) to keep the helper scripts in good shape.
Address PR feedback: `dist_dir` defaults to `dist` and `src_package_dir` falls back to `src/<package>`, so callers only need to pass `package_name` and `python_version`. Rewrite the verifier with a PEP 723 inline script spec so `uv run --script` pulls in `typer` and `rich` for a typed CLI and styled output instead of argparse + manual print formatting.
`package_layout` (default `src`) accepts `src` or `flat` and the action derives both the source directory and the sdist member prefix from it. This is cleaner than passing a path and also fixes flat-layout checking, where the hardcoded `src/` sdist prefix made the source/data file presence checks always fail.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…an install deps The action invokes the verifier via `uv run --no-project --script`, which only reads dependencies from the inline `# /// script` block — the repo's pyproject.toml dev group is ignored under `--no-project`. Without the block, `import typer` fails in CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
|
This was already reviewed in apify/workflows#296, merging |
fnesveda
pushed a commit
that referenced
this pull request
May 18, 2026
🤖 I have created a release *beep* *boop* --- ## [1.1.0](v1.0.0...v1.1.0) (2026-05-18) ### Features * add mongodb-query-index-check action ([#3](#3)) ([e288951](e288951)) * add python-package-check composite action ([#11](#11)) ([cafe9c0](cafe9c0)) * bump max-turns default to 100 and stream full Claude output ([#7](#7)) ([812c5cb](812c5cb)) * expand allowed-tools list for mongodb-query-index-check ([#6](#6)) ([42e0fe2](42e0fe2)) * make the review prompt directive instead of descriptive ([#8](#8)) ([910af2a](910af2a)) * mention [@mtrunkat](https://github.com/mtrunkat) in the review summary on findings ([#12](#12)) ([2f0becd](2f0becd)) ### Bug Fixes * move state files into workspace and address bash sandbox denials ([#9](#9)) ([6e2aa05](6e2aa05)) * Stop using `@octokit/rest` in scripts ([#10](#10)) ([232b613](232b613)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new
python-package-checkcomposite action that verifies built sdist + wheel artifacts indist/install and import correctly. It runs against any Python package built viauv build/ hatch / similar and is intended to run after building (e.g. viaprepare-pypi-distribution).Checks performed:
dist/contains exactly one.whland one.tar.gz.tests/,docs/,website/,examples/,.github/, anduv.lock.*.dist-info/METADATAentry.Also adds repo-wide Python lint/type-check tooling (
pyproject.toml+uv.lockwith ruff + ty) and apython_checksCI job so the helper scripts inpython-package-check/andgit-cliff-release/stay clean.git-cliff-release/enhance_context.pyhas been reformatted to satisfy the new lint config.