Zero-setup GitHub Action
Practical guides:
- Regression-test a declared Article 50 AI disclosure in CI
- Test whether C2PA Content Credentials survive CDN delivery
Use art50-ci in a GitHub-hosted Linux job without adding it to the caller's package manifest:
- uses: actions/checkout@v6
- uses: Rubiss/art50-ci@v0.3.0
with:
config: .art50-ci.ymlThe composite action installs its runtime under GITHUB_ACTION_PATH and installs Chromium by default. For a completed audit, it uploads the validated JSON/HTML/screenshot/provenance report directory before propagating exit code 0 or 1. Configuration or execution errors return 2; an error before report creation may produce no artifact.
Inspect the public released-version C2PA pass and stripped-delivery proof.
Release safeguards
- JavaScript dependencies are installed from the tagged lockfile with lifecycle scripts disabled.
- The platform-specific C2PA native archive is verified against a release-pinned SHA-256 digest before extraction.
- Nested setup and artifact actions are pinned to full commit SHAs.
- The report output must be a new or empty repository-relative directory; escaping symlinks and generated symlinks are rejected.
- CI proves pass and intentional-failure behavior in an isolated non-Node consumer workspace, including evidence retention before exit 1.
Report and provenance schemas remain version 2. Configuration remains version 1; no configuration migration is required. The action currently supports GitHub-hosted Linux runners.
Local install
npm install --save-dev art50-ci@0.3.0
npx playwright install chromiumThe npm package, GitHub release tarball, and tagged Action are all available. For a release-asset install instead:
npm install --save-dev https://github.com/Rubiss/art50-ci/releases/download/v0.3.0/art50-ci-0.3.0.tgzRelease-asset SHA-256: 3d6fbe0c392becc3512d44183b06877e2ad19d4d274ddeb0bce3d4d3a468fda1