Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
373dce6
feat: add validate readme command to extract command and validate the…
May 13, 2026
1200480
chore: add PASS/FAIL status at the end of the console output
May 13, 2026
e934320
Improve README validator output and reset behavior
May 14, 2026
cf66811
feat: run all labs sequentially.
May 14, 2026
3e02dc8
Fixed README command
SaachiKaup May 14, 2026
11b1ab4
updated command in dictionary and added absolute path of /specs/dicti…
SaachiKaup May 14, 2026
3cb008c
Updated README message in failure for continuous integration - previo…
SaachiKaup May 14, 2026
f687c81
Running docker compose up in detached state, to avoid timeout error d…
SaachiKaup May 14, 2026
437debc
Running docker compose up in detached state, to avoid timeout error d…
SaachiKaup May 14, 2026
e877282
Moved alternative command to location after chmod command - post acti…
SaachiKaup May 14, 2026
b7691ae
Updated Actual/Expected messages table to newer format - failed previ…
SaachiKaup May 14, 2026
9ac1f62
remove transient info from terminal output
nashjain May 14, 2026
8a0ef75
fix: quick-start-contract-testing readme's terminal output
May 14, 2026
1612202
Removed WIP tag from expected output
SaachiKaup May 14, 2026
7ee1180
Added WIP Tag
SaachiKaup May 14, 2026
ee62b39
Updated WIP count
SaachiKaup May 14, 2026
c1066d7
api-coverage: Updated WIP counts
SaachiKaup May 14, 2026
fc8ee78
api-security-schemes: Updated WIP counts
SaachiKaup May 14, 2026
7f9d4c1
dictionary: Updated WIP counts
SaachiKaup May 14, 2026
60189af
kafka-sqs-retry-dlq : Updated WIP counts
SaachiKaup May 14, 2026
f23878e
workflow-in-same-spec : Updated WIP counts
SaachiKaup May 14, 2026
74b3a02
api-resiliency-testing: Added commands + WIP counts
SaachiKaup May 14, 2026
d78f98d
schema-design : Added commands + added file for replacement data (pay…
SaachiKaup May 14, 2026
3791b81
response-templating : Added commands + added file for replacement dat…
SaachiKaup May 14, 2026
b076383
schema-design : payments-request.yaml (Drop in replacement file)
SaachiKaup May 14, 2026
a2b61bb
Added 3 tested labs
SaachiKaup May 14, 2026
13dfb9a
filters : added alternative run command
SaachiKaup May 14, 2026
8234bcc
filters: Added WIP counts, passes
SaachiKaup May 14, 2026
8a72af8
overlays : added alternative run command + file for overlay changes
SaachiKaup May 14, 2026
3f17de7
Commented line in , restored to original
SaachiKaup May 14, 2026
6449786
Added alternative run command in overlays
SaachiKaup May 14, 2026
5651610
overlays: added WIP counts
SaachiKaup May 14, 2026
18746ec
backward compatibility: File copy based approach. Added alternative r…
SaachiKaup May 14, 2026
eecf6e2
external examples, added alternate command
SaachiKaup May 14, 2026
e196f62
chore: remove unnecessary extra line break
May 14, 2026
7394110
Add multi-lab mode and smarter cleanup
May 14, 2026
91f88eb
chore: update validate_readme_commands.py so the positional argument …
May 14, 2026
1e7d0ef
Improve README validator diagnostics and defaults
May 14, 2026
dda5e28
WIP fix for schema-resiliency-testing lab
May 14, 2026
0e93891
add filters and overlays to default_labs list
May 14, 2026
31483b4
Backward compatibility readme fixed
SaachiKaup May 15, 2026
4ec96d2
Fixed labs: async-event-flow, external-examples, kafka-avro, partial-…
SaachiKaup May 15, 2026
7437552
Updated labs
SaachiKaup May 15, 2026
adce640
Curl command Dockerized in quick-start-mock
SaachiKaup May 15, 2026
59ca449
Improve README validator preflight and reporting
May 16, 2026
2ba7270
Polish validator warmup and summary output
nashjain May 16, 2026
7400312
Add CI workflow for parallel lab README validation
nashjain May 16, 2026
257f8d1
fix: normalize README docker path examples and preserve validator res…
nashjain May 17, 2026
f70dc5a
fix: stabilize README validation and split async-event-flow studio st…
nashjain May 17, 2026
ce6fff8
fix: harden README validator for CI and stabilize lab commands
nashjain May 17, 2026
5d18e4b
fix: drop the subsequence search
nashjain May 17, 2026
ad9e5ed
fix: simplify backward compatibility lab commands by running containe…
nashjain May 17, 2026
a3be4d8
fix: add curl timeouts to data-adapters verifier to prevent README CI…
nashjain May 17, 2026
1a1f79e
cleanup: remove the unused print_dry_run() wrapper, stopped reparsing…
nashjain May 17, 2026
141e314
cleanup
nashjain May 21, 2026
af13164
backward-compatibility-testing does not require additional openapi sp…
nashjain May 22, 2026
862d0bc
better demarcation between the commands and their outputs
nashjain May 25, 2026
c796cd1
added debugging logs to bcc readme
nashjain May 25, 2026
7098832
added debugging logs to bcc readme
nashjain May 28, 2026
72f362d
removed all the debug logs
nashjain May 30, 2026
cf1396a
cleanup
nashjain May 30, 2026
bdb9b0a
reverted accidental push with fixed avro schema file
nashjain May 30, 2026
648adc3
kafka-avro - instead of coping avro file content, using sed command
nashjain May 30, 2026
261f9dd
kafka-avro - instead of coping avro file content, using sed command
nashjain May 30, 2026
c10edda
moved updated overlay file to .backup folder
nashjain May 30, 2026
a35f5ee
added missing validate command for Linux/Mac
nashjain May 30, 2026
9f304b4
fixed alt commands
nashjain Jun 11, 2026
8b248d8
fixed alt commands
nashjain Jun 11, 2026
081b201
response templating lab fixed
nashjain Jun 11, 2026
3c9cd10
schema design lab fixed
nashjain Jun 11, 2026
69f237e
moved validate_readme_commands.py inside .github workflow folder
nashjain Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,482 changes: 1,482 additions & 0 deletions .github/workflows/test_validate_readme_commands.py

Large diffs are not rendered by default.

131 changes: 131 additions & 0 deletions .github/workflows/validate-readmes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: Validate Lab ReadMes

on:
pull_request:
push:
branches:
- main
workflow_dispatch:

jobs:
preflight:
name: Shared Preflight
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Run validator unit tests
run: python3 -m unittest discover -s .github/workflows -p 'test_validate_readme_commands.py' -q

- name: Run shared preflight
run: python3 .github/workflows/validate_readme_commands.py --preflight-only

validate-lab:
name: Validate ${{ matrix.lab }}
needs: preflight
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lab:
- api-coverage
- schema-design
- response-templating
- api-resiliency-testing
- api-security-schemes
- async-event-flow
- backward-compatibility-testing
- continuous-integration
- data-adapters
- dictionary
- external-examples
- filters
- kafka-avro
- kafka-sqs-retry-dlq
- mcp-auto-test
- overlays
- partial-examples
- quick-start-api-testing
- quick-start-async-contract-testing
- quick-start-contract-testing
- quick-start-mock
- schema-resiliency-testing
- workflow-in-same-spec
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Ensure origin/main is available
run: git fetch origin main:refs/remotes/origin/main

- name: Validate lab README
run: |
mkdir -p .artifacts/readme-validator
python3 .github/workflows/validate_readme_commands.py "${{ matrix.lab }}" \
--result-json ".artifacts/readme-validator/${{ matrix.lab }}.json"

- name: Upload lab validation result
if: always()
uses: actions/upload-artifact@v6
with:
name: readme-validator-${{ matrix.lab }}
path: .artifacts/readme-validator/${{ matrix.lab }}.json
if-no-files-found: error

report:
name: Consolidated Report
if: always()
needs:
- preflight
- validate-lab
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Note preflight failure
if: needs.preflight.result != 'success'
run: |
echo "Shared preflight failed. Lab matrix did not run." | tee -a "$GITHUB_STEP_SUMMARY"
exit 1

- name: Download lab validation artifacts
if: needs.preflight.result == 'success'
uses: actions/download-artifact@v7
with:
pattern: readme-validator-*
path: .artifacts/readme-validator
merge-multiple: true

- name: Print consolidated report
if: needs.preflight.result == 'success'
run: |
python3 .github/workflows/validate_readme_commands.py \
--report-from ".artifacts/readme-validator" | tee .artifacts/readme-validator/summary.txt
{
echo '```text'
cat .artifacts/readme-validator/summary.txt
echo '```'
} >> "$GITHUB_STEP_SUMMARY"
Loading