Skip to content

Commit efb6e77

Browse files
committed
Add VSC v2.9 CI conformance check
1 parent 637207b commit efb6e77

3 files changed

Lines changed: 141 additions & 0 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: VSC Conformance
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
conformance:
13+
name: VSC Conformance Check
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: "20"
24+
25+
- name: Setup Go
26+
uses: actions/setup-go@v5
27+
with:
28+
go-version: "1.22"
29+
30+
- name: Install dependencies
31+
run: npm install
32+
33+
- name: Run fixture comparison
34+
run: npm run vsc -- compare:fixtures
35+
36+
- name: Validate fixture comparison JSON
37+
shell: bash
38+
run: |
39+
npm run vsc -- compare:fixtures --json > comparison-result.json
40+
cat comparison-result.json
41+
node -e "const fs = require('fs'); const data = JSON.parse(fs.readFileSync('comparison-result.json', 'utf8')); if (data.result !== 'COMPARE_PASS') { console.error(data); process.exit(1); } console.log('COMPARE_JSON_PASS');"
42+
43+
- name: Run full VSC verification
44+
run: npm run vsc -- verify-all

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,28 @@ The VSC v2.7 Conformance Fixture Package is available in [`conformance/v2.7/`](c
3030

3131
The VSC v2.8 Node/Go Result Comparison Draft is available in [`conformance/v2.8/`](conformance/v2.8/). It defines how verifier implementations should compare result classes across the v2.7 conformance fixtures. The v2.8.2 comparison runner supports human-readable and machine-readable output: `npm run vsc -- compare:fixtures` (human-readable table) or `npm run vsc -- compare:fixtures --json` (JSON, intended for automation and future CI).
3232

33+
## CI Conformance Check
34+
35+
VSC includes a GitHub Actions workflow for automated conformance validation.
36+
37+
The workflow runs on every push and pull request targeting `main` and checks:
38+
39+
```powershell
40+
npm run vsc -- compare:fixtures
41+
npm run vsc -- compare:fixtures --json
42+
npm run vsc -- verify-all
43+
```
44+
45+
The JSON comparison output must be valid JSON and must report:
46+
47+
```json
48+
{
49+
"result": "COMPARE_PASS"
50+
}
51+
```
52+
53+
This CI check validates fixture-level comparison behavior and full repository verification status. It does not change VSC verification semantics.
54+
3355
---
3456

3557
## Core Concept
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# VSC v2.9 — CI Conformance Check
2+
3+
Release: v2.9
4+
Project: DigiEmu VSC / VSC Core
5+
6+
## Summary
7+
8+
VSC v2.9 adds a GitHub Actions conformance workflow for automated repository validation.
9+
10+
This release uses the machine-readable JSON output introduced in v2.8.2 to make fixture comparison suitable for CI.
11+
12+
## Added
13+
14+
New GitHub Actions workflow:
15+
16+
```text
17+
.github/workflows/vsc-conformance.yml
18+
```
19+
20+
The workflow runs on:
21+
22+
```text
23+
push to main
24+
pull_request targeting main
25+
```
26+
27+
## CI validation steps
28+
29+
The workflow performs the following checks:
30+
31+
```powershell
32+
npm run vsc -- compare:fixtures
33+
npm run vsc -- compare:fixtures --json
34+
npm run vsc -- verify-all
35+
```
36+
37+
The JSON comparison output is saved to:
38+
39+
```text
40+
comparison-result.json
41+
```
42+
43+
Then parsed with Node.js.
44+
45+
CI fails if:
46+
47+
```json
48+
{
49+
"result": "COMPARE_PASS"
50+
}
51+
```
52+
53+
is not reported.
54+
55+
## Unchanged
56+
57+
v2.9 does not change:
58+
59+
- Go verifier semantics
60+
- Node runner comparison semantics
61+
- Conformance fixture expected results
62+
- PASS / FAIL / ERROR meaning
63+
- Evidence bundle verification logic
64+
65+
## Release meaning
66+
67+
v2.9 moves VSC from local conformance checking to automated repository-level conformance validation.
68+
69+
This strengthens VSC as a portable evidence layer by making verification behavior continuously checkable on every relevant repository update.
70+
71+
## Next possible step
72+
73+
```text
74+
v2.10 — CI Artifact Upload / Published Conformance Report
75+
```

0 commit comments

Comments
 (0)