ci: add a script and CI job to validate spec examples #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Validate AsyncAPI Examples | ||
on: | ||
push: | ||
branches: | ||
- script-ci-spec-validation # added temporarily for testing purpose | ||
# - master | ||
pull_request_target: | ||
types: [opened, reopened, synchronize, edited, ready_for_review] | ||
jobs: | ||
validate-examples: | ||
name: Validate Spec Examples | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
- name: Setup Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' | ||
- name: Install AsyncAPI CLI | ||
run: npm install -g @asyncapi/cli | ||
- name: Validate AsyncAPI documents | ||
run: | | ||
# NOTE: we've excluded the files inside `examples/social-media/common` folder because it contains partial documents which don't comply with the asyncapi document format, hence these files give error during the validation. | ||
find examples -type f \( -name "*.yml" -o -name "*.yaml" \) -not -path 'examples/social-media/common/*' | xargs -P 10 -L 1 asyncapi validate |