The composite action¶
This page details the composite action at ./action.yml: what it does, its
inputs and outputs, and its result caching. The quick start, the GitLab
mapping, other CI systems, and the parity gate are on the CI/CD home
page. The workflow files, Markdown summaries, release bundling,
and floating tags are on CI/CD workflows, summaries, and release
bundling.
Composite action (./action.yml)¶
The composite action installs Alire via
alire-project/setup-alire.
GNAT comes from gnat-version plus gprbuild. gnatprove is NOT an
alr toolchain component. The prove subcommand resolves it through the
target project’s manifest, $PATH, cached toolchain, or download.
The action obtains the version-matched adacovex binary. It downloads the
release bundle by default. You can set build: true to build from source.
Optionally, the action runs GNATprove (prove) and the native tests
(run-tests). Then it runs the assessment. It generates a proof-aware SBOM
(generate-sbom, default true). It publishes a Markdown step summary,
machine-readable outputs, and SVG badge artifacts.
run-tests builds the target’s native test suite first. In a consumer
workspace, the build: true step builds adacovex in a scratch checkout. It
leaves the target untouched.
The action runs alr build in the target root before executing
test-command. The target root is a subdirectory when target points at one.
In the self-assessment case, the build is an incremental no-op.
This design keeps test-command: ./test_crdt-style usage working in consumer
repositories such as Ada_CRDT’s release workflow.
The action is version-matched to the adacovex binary. The release workflow bundles adacovex-vX. Y. Z.tar.gz for every `vX.
Y. Z` tag. The action downloads the binary for the tag it is referenced by. Reference it by a floating tag to always get the latest published release.
You can pin to an exact release for reproducibility:
steps:
- uses: actions/checkout@v7
- uses: bladeacer/adacovex@v1
with:
target: .
standard: all # badges/reports for DO-178C + ISO 26262 + IEC 62304
Inputs¶
Input |
Default |
Description |
|---|---|---|
|
|
Target project root (relative to workspace root) |
|
|
DO-178C DAL level to assess (A-E); also the shared rigour tier |
|
|
Compliance standard: |
|
|
ISO 26262 ASIL level (A-D, QM); sets the standard and tier |
|
|
IEC 62304 safety class (A-C); sets the standard and tier |
|
|
GNAT toolchain version to select via |
|
|
adacovex version; defaults to the tag the action is referenced by |
|
|
Build adacovex from source instead of downloading the version-matched binary |
|
|
Run GNATprove before assessing, for repos that don’t commit |
|
|
Minimum SPARK level (Stone..Platinum); CI threshold gate |
|
|
Minimum docstring coverage % (0-100); CI threshold gate |
|
|
Minimum passing test count; CI threshold gate |
|
|
Minimum proved-VC coverage % (0-100); CI threshold gate |
|
|
Minimum verified % for the |
|
|
Metric the |
|
|
Build the target’s native test suite and run it (requires |
|
|
Command (relative to workspace root) that runs the target’s test suite |
|
|
Pass |
|
|
Run the assessment and publish outputs/badges ( |
|
|
Git ref to run |
|
|
Git ref to run |
|
|
Write |
|
|
Write a JSON export of assessment metrics + the dependency graph to this file |
|
|
Generate a proof-aware SBOM after the assessment and upload it |
|
|
SBOM format: |
|
|
Cache Alire toolchain/deps with |
|
|
Persist adacovex’s on-disk result cache across runs |
|
|
Override the target project manifest path |
|
|
Suppress SVG badge generation |
|
|
Disable strict mode (skip dirs, no patches) |
|
|
Directory name to skip in relaxed mode (repeatable, comma-separated) |
|
|
Verbose diagnostics on stderr |
|
|
Disable adacovex on-disk result caching |
|
|
Override adacovex result cache directory |
|
|
Max adacovex result-cache entries before eviction |
|
|
GNATprove parallelism for the |
|
|
GNATprove proof effort 0-4 |
|
|
GNATprove per-check prover timeout in seconds |
|
|
GNATprove max proof steps |
|
|
GNATprove prover memory limit in MB |
|
|
Force full GNATprove reanalysis ( |
|
|
Disable GNATprove automatic loop unrolling |
|
|
Disable GNATprove contextual-analysis inlining |
|
|
Extra raw GNATprove flags passed through verbatim to the |
|
|
Suppress GNATprove benign info messages (the default set) from prove output. Quiet is already the default for local runs; this is the explicit prove-mode form. |
|
|
Comma-separated GNATprove info tags to suppress from prove output (for example |
Outputs¶
Output |
Description |
|---|---|
|
|
|
SPARK level detected (Stone..Platinum) |
|
Number of passing tests |
|
Current docstring coverage (in |
Result caching¶
The action restores <cache> before running adacovex. It saves the
cache when the job finishes (result-cache, default true).
Every entry is keyed by its artifact’s SHA-256 content hash. Restoring a cache from an earlier run or commit is always safe. Only files that are byte-for-byte unchanged are served from it. The remaining files are rescanned and re-parsed automatically.
See also¶
CI/CD – the CI/CD home page.
CI/CD workflows, summaries, and release bundling – the workflow files, Markdown summaries, and release bundling.