Upload coverage reports to 'covered'
Project description
Make it green.
covered
CLI for uploading HTML coverage reports to a self-hosted covered backend, then setting a GitHub commit status with the coverage value.
Install
pip install covered
Requires Python 3.13+.
Usage
Upload an HTML coverage report directory:
covered upload ./htmlcov \
--api-url https://covered.example.com \
--api-key "$COVERED_API_KEY" \
--repo-owner my-org \
--repo-name my-repo \
--commit-sha "$GITHUB_SHA" \
--gh-token "$GITHUB_TOKEN" \
--coverage-threshold 90 \
--is-default-branch
Every option also reads from a matching environment variable (COVERED_API_URL, COVERED_API_KEY, COVERED_REPO_OWNER, COVERED_REPO_NAME, COVERED_COMMIT_SHA, COVERED_GH_TOKEN, COVERED_COVERAGE_THRESHOLD, COVERED_IS_DEFAULT_BRANCH), which is the typical way to use it from CI.
covered upload --help lists all options.
What it does
- Requests a temporary upload session from the covered backend.
- Uploads every file in the given directory to S3 in parallel (default concurrency: 50).
- Reads the coverage percentage from
index.htmlin the report. - Posts a
coveredcommit status to GitHub (successif>= --coverage-threshold, otherwisefailure). - On the default branch, invalidates the badge cache and purges GitHub's Camo cache for the README badge.
License
MIT. See the project repository for the full license text.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file covered-0.1.0.tar.gz.
File metadata
- Download URL: covered-0.1.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28fa220191c2158e65af457864f8d6864beb13ea18c8a23f3552d75f930d6fe1
|
|
| MD5 |
41f9c62fdc5558258850b0756f689778
|
|
| BLAKE2b-256 |
e3b79d4b95053e1f633013a90adafeaa6009100c9e3c8e194893221585302700
|
File details
Details for the file covered-0.1.0-py3-none-any.whl.
File metadata
- Download URL: covered-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea702d751ec7e1fd70902732c4e14ea8f203191c0a6e40f8dec2cc5212fa0751
|
|
| MD5 |
98c5530143643c7b51629afa14768a30
|
|
| BLAKE2b-256 |
b87f6851c3dd4c46d4dd3eeba00c97a25f9d6543d41c14cd347c5586dbfd7f95
|