A GitHub composite Action that wraps the EATF offline
verifier so that
downstream CI pipelines can assert their .aep evidence packages
verify cleanly before they merge.
- uses: tyche-institute/verify-aep-action@v1
with:
path: ./evidence/ # default '.' — walks recursively for *.aepBy default the Action fails the workflow step if any package fails verification. No network calls, no API keys — everything happens in the runner's filesystem.
| Input | Default | Meaning |
|---|---|---|
path |
. |
Path to a single .aep file or a directory to walk. |
mode |
batch |
One of single, batch, conformance. |
tsa-trust-list |
(built-in) | Colon-separated list of PEM files with pinned RFC 3161 TSA roots. Default: the verifier's built-in DigiCert anchor set. |
json |
false |
If true, the verifier emits machine-readable JSON to stdout. |
eatf-ref |
v0.1.4 |
Git ref of tyche-institute/eatf to install. Pin to a release tag for reproducibility. |
node-version |
20 |
Node.js version to install (Node 20 or later required). |
single—pathmust be a.aepfile. Verifies one package; step exits non-zero on failure.batch(default) —pathis a directory walked recursively. Every.aepfound is verified. Step exits non-zero if any package fails.conformance—pathis a test-vectors tree withvalid/<vector>/package.aepandinvalid/<vector>/package.aepsubdirectories. Each vector'sverify=true/verify=falseoutcome is compared against itsverify-expected.txt; step exits non-zero on any contract mismatch.
name: Verify evidence
on:
pull_request:
paths:
- "evidence/**.aep"
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tyche-institute/verify-aep-action@v1
with:
path: ./evidence/ - uses: tyche-institute/verify-aep-action@v1
with:
mode: single
path: ./build/attestation.aep - uses: tyche-institute/verify-aep-action@v1
with:
mode: conformance
path: ./my-vectors/- No sign-then-verify. Pair with the
eatf-signCLI directly in the workflow if you want to produce.aeppackages from CI. This Action is verify-only by design. - No remote verification queries. All work happens on the
runner. The Action never contacts
api.eatf.euor any registry. - No notification side effects. The Action does not post comments, status checks, or summaries. Use it inside a job that has its own annotation strategy.
Tags use semver. @v1 is a moving tag that follows the latest
v1.x.y release; pin to @v1.0.0 (or similar) for byte-identical
builds.
The eatf-ref input lets you decouple Action version from
verifier version: e.g., use the latest Action but pin to a
specific EATF release.
Apache License 2.0. Composite Action: ~1 file of YAML; the
heavy lifting is in tyche-institute/eatf.