rcmdnk/Python Test Action

GitHub Action for Python (poetry/uv, pytest with coverage, linters with prek/pre-commit)

View on GitHub

Trust Signals

Scorecard Score
Scorecard 2–4scored Jul 6, 2026
Maintenance Recency
Activelast commit May 7, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: rcmdnk/python-action@a30ddf2744ffef4d288bb6e8bec7e5825c37f657 # v3.1.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
checkoutSet 1 to run checkout.yes1
post-checkout-commandOptional shell command(s) to run right after checkout. Multiple commands can be passed as a multi-line string.no""
private-repo-app-client-idGitHub App Client ID for accessing private GitHub repositories. If set together with private-repo-app-private-key, private-repo-app-owner, and private-repo-app-repositories, a GitHub App token is generated and used to rewrite git URLs so that private GitHub repositories can be accessed during dependency installation.no""
private-repo-app-private-keyPrivate key of the GitHub App used to access private GitHub repositories. Used together with private-repo-app-client-id.no""
private-repo-app-ownerGitHub organization or user where the GitHub App used for private repository access is installed. Used to scope the generated GitHub App token.no""
private-repo-app-repositoriesPrivate GitHub repositories to scope the generated GitHub App token to. One repository name per line.no""
private-repo-app-debugSet 1 to print sanitized git config and run git ls-remote tests after configuring the GitHub App token for private repository access.no0
setup-pythonSet 1 to run setup-python.yes1
python-version`python-version` for setup-python.yes3.12
setup-typePython environment setup type (poetry, uv or pip).yespoetry
setup-optionAdditional options for python environment setup.yes""
pytestSet 1 to run pytest.yes1
pytest-tests-pathPath to the directory of the test files.yestests/
pytest-ignoreComma separated test file names which are excluded from the pytest.yes""
pytest-separate-benchmarkSet 1 to run benchmark tests separately (execute only once at the main test, by --benchmark-disable) and show the benchmark results in the summary (need pytest-benchmark).yes0
coverageSet 1 to check coverage for pytest (pytest-cov will be installed if not installed).yes1
coverage-cov-pathPath to check coverage.yes""
pytest-cov-pathPath to check coverage (alternative to coverage-cov-path, to keep backward compatibility).yes""
pytest-optAdditional options for pytest.yes""
coverage-pushSet 1 to push the coverage result to coverage branch.yes0
coverage-push-conditionCondition to push the coverage. This will be shown in the README if it is not empty.yes""
github_tokenToken to push the coverage branch.yes${{ github.token }}
pre-commitSet 1 to run pre-commit.yes0
prekSet 1 to run prek.yes0
tmateSet 1 to run tmate.yes0
namedescription
pytestpytest status
pre_commitpre-commit status
coverageCoverage Percantage
colorCoverage Color
warningsCoverage Warnings
errorsCoverage Errors
failuresCoverage Failures
skippedCoverage Skipped
testsCoverage Tests
timeCoverage Time
notSuccessTestInfoNot Success Test Info