chore: re-add oas tests for generated OAS (#9036)
* chore: re-add oas tests for generated OAS * test fix
This commit is contained in:
78
.github/workflows/oas-test.yml
vendored
78
.github/workflows/oas-test.yml
vendored
@@ -1,39 +1,41 @@
|
||||
#name: OAS Comments Format Validation
|
||||
#on:
|
||||
# pull_request:
|
||||
#
|
||||
#jobs:
|
||||
# docs-test:
|
||||
# runs-on: ubuntu-latest
|
||||
# env:
|
||||
# TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
# TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
# steps:
|
||||
# - name: Cancel Previous Runs
|
||||
# uses: styfle/cancel-workflow-action@0.11.0
|
||||
# with:
|
||||
# access_token: ${{ github.token }}
|
||||
#
|
||||
# - name: Checkout
|
||||
# uses: actions/checkout@v3
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
#
|
||||
# - name: Setup Node.js environment
|
||||
# uses: actions/setup-node@v3
|
||||
# with:
|
||||
# node-version: "16.10.0"
|
||||
# cache: "yarn"
|
||||
#
|
||||
# - name: Install dependencies
|
||||
# uses: ./.github/actions/cache-deps
|
||||
# with:
|
||||
# extension: oas
|
||||
#
|
||||
# - name: Build Packages
|
||||
# run: yarn build
|
||||
#
|
||||
# - name: Build OAS
|
||||
# run: |
|
||||
# yarn openapi:generate --dry-run
|
||||
name: OAS Comments Format Validation
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- www/utils/generated/oas-output/**
|
||||
|
||||
jobs:
|
||||
docs-test:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
steps:
|
||||
- name: Cancel Previous Runs
|
||||
uses: styfle/cancel-workflow-action@0.11.0
|
||||
with:
|
||||
access_token: ${{ github.token }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "16.10.0"
|
||||
cache: "yarn"
|
||||
|
||||
- name: Install dependencies
|
||||
uses: ./.github/actions/cache-deps
|
||||
with:
|
||||
extension: oas
|
||||
|
||||
- name: Build Packages
|
||||
run: yarn build
|
||||
|
||||
- name: Build OAS
|
||||
run: |
|
||||
yarn openapi:generate --dry-run
|
||||
#
|
||||
@@ -208,7 +208,7 @@ describe("command docs", () => {
|
||||
configFile = path.resolve(outDir, "redocly-config.json")
|
||||
await writeJson(configFile, config)
|
||||
configYamlFile = path.resolve(outDir, "redocly-config.yaml")
|
||||
await writeYaml(configYamlFile, config)
|
||||
await writeYaml(configYamlFile, JSON.stringify(config))
|
||||
})
|
||||
|
||||
it("should fail with unhandled circular reference", async () => {
|
||||
|
||||
@@ -135,10 +135,12 @@ export async function execute(cliParams: OptionValues): Promise<void> {
|
||||
|
||||
const srcFileSanitized = path.resolve(tmpDir, "tmp.oas.yaml")
|
||||
await sanitizeOAS(srcFile, srcFileSanitized, configTmpFile)
|
||||
await fixCirclularReferences(srcFileSanitized, dryRun)
|
||||
await fixCirclularReferences(srcFileSanitized)
|
||||
|
||||
if (dryRun) {
|
||||
console.log(`⚫️ Dry run - no files generated`)
|
||||
// check out possible changes in redocly config
|
||||
await execa("git", ["checkout", path.join(basePath, "redocly", "redocly-config.yaml")])
|
||||
return
|
||||
}
|
||||
if (shouldPreview) {
|
||||
@@ -223,7 +225,7 @@ const sanitizeOAS = async (
|
||||
console.log(logs)
|
||||
}
|
||||
|
||||
const fixCirclularReferences = async (srcFile: string, dryRun = false): Promise<void> => {
|
||||
const fixCirclularReferences = async (srcFile: string): Promise<void> => {
|
||||
const { circularRefs, oas } = await getCircularReferences(srcFile)
|
||||
if (circularRefs.length) {
|
||||
const recommendation = getCircularPatchRecommendation(circularRefs, oas)
|
||||
@@ -234,12 +236,6 @@ const fixCirclularReferences = async (srcFile: string, dryRun = false): Promise<
|
||||
${hint}
|
||||
###
|
||||
`
|
||||
if (dryRun) {
|
||||
throw new Error(
|
||||
`🔴 Unhandled circular references - Please manually patch using --config ./redocly-config.yaml
|
||||
Within redocly-config.yaml, try adding the following:` + hintMessage
|
||||
)
|
||||
}
|
||||
const redoclyConfigPath = path.join(basePath, "redocly", "redocly-config.yaml")
|
||||
const originalContent = await readYaml(redoclyConfigPath) as CircularReferenceConfig
|
||||
originalContent.decorators["medusa/circular-patch"].schemas = Object.assign(
|
||||
|
||||
Reference in New Issue
Block a user