SpectraQC CI action — QC gate for a delivery pipeline (SQC-1777/1779)
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-24 18:20:19 +01:00
action.yml SQC-1779: resync action.yml with the source of truth in apps/cli/action 2026-07-24 18:20:19 +01:00
README.md SQC-1779: point the docs at spectraqc-ci 2026-07-24 18:19:36 +01:00

SpectraQC — QC gate for your delivery pipeline

A CI action that submits media to SpectraQC, waits for the result, and fails the job when QC fails.

- uses: spectraqc-ci/qc-gate@v0.1.0
  with:
    api-key: ${{ secrets.SPECTRAQC_API_KEY }}
    spec: rte_hd
    file: masters/programme.mxf

Outputs: result (pass | fail | errored), job-id, report-url. Set fail-on: warn to annotate instead of failing.

Where this runs

Built for Forgejo Actions on git.swordstream.eu. The file is spec-compatible, so it would also run on GitHub — but it is not published to the GitHub Marketplace and it does not download anything from github.com.

⚠️ The API geo-blocks restricted regions (US, Israel) before authentication (SQC-1337), and the decision is deliberately not to exempt authenticated callers (SQC-1868). A runner egressing from one of those regions gets 403 unavailable_in_region — GitHub-hosted runners included. Run this from an EU or self-hosted runner.

The CLI it wraps

The action downloads a prebuilt spectraqc binary and verifies it against the published SHA256SUMS before running it, refusing to run on a mismatch. Binaries live on Scaleway object storage, not GitHub Releases:

https://swordstream-ci-artifacts.s3.fr-par.scw.cloud/spectraqc-cli/<version>/

Pin a different release with the cli-version input.

Why this org

spectraqc-ci is public and holds nothing but published actions; the product repos stay in the private spectraqc org. That split is load-bearing: forgejo-runner fetches actions with no credentials, and a private org hides even its public repos from an anonymous fetch — so an action living beside the source could never be resolved by a runner at all.

Source

Developed in apps/cli/action/action.yml of the main repo, which is the source of truth; this repo is the published copy so uses: can resolve it. Edit it there and republish — do not edit here. Raise issues against SQC in Jira, not here.