The parse, value, and canonical event-stream conformance suites were opt-in (PUREYAML_RUN_YAML_TEST_SUITE=1) and so never ran in CI: an oracle that only runs when asked is not a gate. Add a Conformance workflow that fetches the canonical yaml-test-suite and runs all three suites, so the event gate's recorded-gap set fails the build on any regression or silently-closed gap, and add its README badge alongside the other quality gates.
27 lines
793 B
YAML
27 lines
793 B
YAML
name: Conformance
|
|
|
|
# Canonical YAML test-suite conformance: parse-level, value-level, and the canonical
|
|
# event-stream gate. The corpus is fetched, not vendored, so this job fetches it and then
|
|
# runs the opt-in conformance tests as a gate. The event gate's recorded-gap set fails the
|
|
# build on any regression or any silently-closed gap. One concern, one badge.
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
conformance:
|
|
name: Conformance
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Fetch the canonical yaml-test-suite
|
|
run: bash scripts/fetch-yaml-test-suite.sh
|
|
- name: Run conformance gates
|
|
run: PUREYAML_RUN_YAML_TEST_SUITE=1 swift test --filter Conformance
|