Skip to content

OpenAPI Spec Linting #19

OpenAPI Spec Linting

OpenAPI Spec Linting #19

Workflow file for this run

name: Validate API Spec
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
typescript_api_spec_validation:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@c2ac33f2c62f978d6c944d9648125a294e56dc0b # v4.0.2
with:
node-version: 'v20.12.0'
- name: Install tsp
run: npm install -g @typespec/[email protected]
- name: Install dependencies
run: npm ci
- name: Install oav
run: npm install -g [email protected]
- name: Install autorest
run: npm install -g [email protected]
- name: Compile tsp
run: tsp compile ./api/redhatopenshift/HcpCluster --warn-as-error
- name: Validate swagger
run: oav generate-examples ./api/redhatopenshift/resource-manager/Microsoft.RedHatOpenshift/preview/2024-06-10-preview/openapi.json
- name: Generate OpenAPI
run: autorest api/autorest-config.yaml
- name: Check for Uncommitted Changes
run: |
git diff --exit-code || (echo "::error::Uncommitted changes detected in OpenAPI spec. Please regenerate and commit them." && exit 1)