aware-test-runner
aware-test-runner packages the manifest-driven test orchestration we use across the
Aware platform. It exposes a tiny CLI (aware-tests) that mirrors our CI layout so
contributors can run the same curated suites locally or inside automation.
The runner no longer bundles a default manifest. Always supply a manifest
identifier or file path explicitly. The aware-sdk distribution publishes the
OSS manifests under aware_sdk/configs/manifests/oss, and internal overlays live
in the monorepo under configs/manifests/internal.
Key capabilities
- Declarative manifests (
stable.json,runtime.json) that describe suites, marks, and pytest flags. - CLI helpers to list suites, execute a subset, or hand over execution to pytest.
- Environment variable overrides so CI can provide a different manifest directory without modifying the command line.
- Ready-to-extend extras (e.g.
internal,flutter) for optional dependencies.
Installation
pip install aware-test-runner
Requires Python 3.10+. The package works with both pip and uv. Extras will land
once the internal split for our larger matrix is stabilised.
Quick start
Point the runner at your manifest directory (for the OSS bundle bundled with
aware-sdk use aware_sdk/configs/manifests):
export AWARE_TEST_RUNNER_MANIFEST_DIRS=$PWD/aware_sdk/configs/manifests
Run the OSS stable suites:
aware-tests --manifest oss --stable
Discover available suites:
aware-tests --list
Execute a focused set and forward options to pytest:
aware-tests --suites kernel -- -k "smoke and not slow" --maxfail=1
Manifest selection
Manifests can be controlled through identifiers, paths, or environment variables.
| Mechanism | Example |
|---|---|
| Named manifest | aware-tests --manifest internal |
| Manifest file | aware-tests --manifest-file aware_sdk/configs/manifests/oss/manifest.json |
| Directory search path | AWARE_TEST_RUNNER_MANIFEST_DIRS=$PWD/aware_sdk/configs/manifests:$PWD/configs/manifests |
| Explicit identifier (env) | AWARE_TEST_RUNNER_MANIFEST=runtime |
| Override file (env) | AWARE_TEST_RUNNER_MANIFEST_FILE=/tmp/runtime.json |
The internal suite overlays live under configs/manifests/internal/; include
that directory in AWARE_TEST_RUNNER_MANIFEST_DIRS when targeting private suites.
Each manifest can inherit from another via an extends field, allowing the internal
configuration to re-use the OSS baseline.
CI usage
Add a job that configures the manifest directory and runs the stable matrix:
- name: Run OSS suites
run: |
export AWARE_TEST_RUNNER_MANIFEST_DIRS=$GITHUB_WORKSPACE/aware_sdk/configs/manifests
aware-tests --manifest oss --stable --no-warnings
Internal jobs can point the same variable at `$GITHUB_WORKSPACE/configs/manifests`
to pick up the private overlays.
For larger installations we recommend pinning the manifest alongside the workspace so agents and humans see the exact same suite definitions.
Roadmap
- Publish optional extras for internal-only dependencies.
- Ship pre-built manifest bundles targeting different providers (CI, Studio, SDK).
- Expose a Python API for embedding manifests inside other orchestration layers.
Support
- OSS quickstart: this README.
- Release automation: tracked under
docs/projects/aware-developer-tools/tasks/aware-test-runner-tooling/. - Legacy compatibility: importing
aware_testsstill works but emits a notice pointing toaware_test_runner.
Bug reports and suggestions are welcome via issues in aware-network/aware.
License
Distributed under the MIT License. See LICENSE for details.
Metadata
Release files for aware-test-runner 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aware_test_runner-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / aware_test_runner-0.2.0-py3-none-any.whl
| Download URL | aware_test_runner-0.2.0-py3-none-any.whl |
|---|---|
| Size | 28.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68ce1f87ed4970b7929e8d4292715e9cc602f71da29bd93f36db8c23da265555
|
|
BLAKE2b-256 checksum How to use checksums |
abea29cdbc7e9a7b4a7fbe1784075f9e3873070be869f73ad36ad427a77b6f33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2025.
Transparency log