Adds JSON linting #470
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: CDEvents | ||
# Controls when the workflow will run | ||
on: | ||
# Triggers the workflow on push or pull request events but only for the main branch | ||
pull_request: | ||
branches: [ main, spec-v* ] | ||
############### | ||
# Set the Job # | ||
############### | ||
jobs: | ||
lint: | ||
name: Lint Code Base | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v3 | ||
with: | ||
# Full git history is needed to get a proper list of changed files within `super-linter` | ||
fetch-depth: 0 | ||
################################ | ||
# Run Linter against code base # | ||
################################ | ||
- name: Lint Code Base | ||
uses: github/super-linter/slim@v4 | ||
env: | ||
VALIDATE_ALL_CODEBASE: true | ||
DEFAULT_BRANCH: main | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
VALIDATE_MARKDOWN: true | ||
VALIDATE_JSON: true | ||
# Run tests against these folders. | ||
# | ||
# Unfortunately excluding or including which files are linted by | ||
# their associated tool is impossible with super lint. This means if | ||
# we need a tool to only run on a subset of folders, then that tool | ||
# will need to be ran manually instead of in conjunction with | ||
# superlint. | ||
FILTER_REGEX_INCLUDE: ".*\/(custom|examples|schemas)\/.*" | ||
jsonschema: | ||
name: Validate Schemas and Examples | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v4 | ||
- name: Set up Node | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
cache: npm | ||
cache-dependency-path: tools/package-lock.json | ||
- name: Install dependencies | ||
run: | | ||
cd tools | ||
npm install -g --no-fund ajv-cli ajv-formats | ||
- name: Run Validate | ||
run: ./tools/validate.sh | ||
spellcheck: | ||
name: Spellcheck (en_US) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v3 | ||
- name: Spellcheck | ||
uses: rojopolis/[email protected] |