ci: gate conformance on every push, fetching the test-suite
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.
This commit is contained in:
parent
93621b8c84
commit
c1bb5aa8d6
26
.github/workflows/conformance.yml
vendored
Normal file
26
.github/workflows/conformance.yml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
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
|
||||
@ -5,6 +5,7 @@
|
||||
[](https://github.com/mihaelamj/PureYAML/actions/workflows/linux.yml)
|
||||
[](https://github.com/mihaelamj/PureYAML/actions/workflows/windows.yml)
|
||||
[](https://github.com/mihaelamj/PureYAML/actions/workflows/wasm.yml)
|
||||
[](https://github.com/mihaelamj/PureYAML/actions/workflows/conformance.yml)
|
||||
[](LICENSE)
|
||||
|
||||
PureYAML is a dependency-free YAML package written entirely in Swift.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user