{"id":20811567,"url":"https://github.com/platomo/test-python-app-action","last_synced_at":"2026-05-20T10:02:12.374Z","repository":{"id":260235445,"uuid":"880304807","full_name":"platomo/test-python-app-action","owner":"platomo","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-06T20:51:42.000Z","size":48,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-06T21:34:08.099Z","etag":null,"topics":["actions"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/platomo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-29T13:42:29.000Z","updated_at":"2025-01-09T15:00:14.000Z","dependencies_parsed_at":"2024-11-17T20:45:10.635Z","dependency_job_id":"632f082d-6dc6-4b65-b2e8-395b18611101","html_url":"https://github.com/platomo/test-python-app-action","commit_stats":null,"previous_names":["platomo/test-python-app-action"],"tags_count":7,"template":false,"template_full_name":"platomo/composite-action-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platomo%2Ftest-python-app-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platomo%2Ftest-python-app-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platomo%2Ftest-python-app-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platomo%2Ftest-python-app-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/platomo","download_url":"https://codeload.github.com/platomo/test-python-app-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243158972,"owners_count":20245669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions"],"created_at":"2024-11-17T20:44:57.320Z","updated_at":"2026-05-20T10:02:12.369Z","avatar_url":"https://github.com/platomo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛠️ GitHub Action: Test Python Package\n\n## 📄 Description\n\nThe `Test Python Package` GitHub Action automates testing workflows for Python\napplications.\nIt specifies the inputs, key steps, and configurations needed to execute tests,\nperform linting, check static types, and create coverage reports. This action\nstreamlines development by ensuring code quality and robustness in Python projects.\nThe action requires a pyproject.toml file to be present in the repository.\n\n## ⚙️ Inputs\n\n| Name              | Description                                                                 | Required | Default  |\n| ----------------- | --------------------------------------------------------------------------- | :------: | :------: |\n| `package-path`    | Specifies the Python package directory for coverage reporting.              |   Yes    |    -     |\n| `py-version`      | Version of Python used to execute the tests.                                |   Yes    |    -     |\n| `ffmpeg-required` | Determines if FFMPEG installation is needed.                                |    No    | `false`  |\n| `test-path`       | Directory containing the test files.                                        |    No    | `tests/` |\n| `uv-sync-args`    | Optional CLI flags passed to \"uv sync\" (e.g., `--extra opt1 --extra opt2`). |    No    |   `\"\"`   |\n\n## 📦 Usage Example\n\nNote: By default, this action no longer installs all optional extras. To install specific optional dependencies, pass them explicitly via `uv-sync-args` (e.g., `--extra optional_deps_1 --extra optional_deps_2`).\n\nUse this action by creating a workflow file, for example: `.github/workflows/test.yml`:\n\n```yaml\n---\nname: Test\n\non:\n  # Run tests each time a PR is opened or changed.\n  # Allow other Workflows (e.g., build workflows) to call this workflow.\n  pull_request:\n  workflow_call:\n\npermissions: read-all\n\njobs:\n  test:\n    name: Execute tests across various operating systems and Python versions.\n    strategy:\n      matrix:\n        os: [ubuntu-latest, windows-latest]\n        py: [\"3.11\", \"3.12\"]\n      fail-fast: true\n    runs-on: ${{ matrix.os }}\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n      - name: Run Python Tests\n        uses: platomo/test-python-app-action@v3\n        timeout-minutes: 60\n        with:\n          py-version: ${{ matrix.py }}\n          package-path: my-package-name\n          test-path: tests\n          ffmpeg-required: true\n          uv-sync-args: \"--extra opt1 --extra opt2\"\n```\n\n## 🆕 Create a new release\n\nTo create a new release of the action, use the GitHub release function and create a new\ntag according to semantic version requirements (vX.Y.Z).\nThe GitHub workflow `major-release-tag.yml` will automatically move the major version\ntag to the new release.\n\n## ⚖️ License\n\nGNU GENERAL PUBLIC LICENSE Version 3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatomo%2Ftest-python-app-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplatomo%2Ftest-python-app-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatomo%2Ftest-python-app-action/lists"}