From cf387aafa2431d47fde743fbbedc76576aea6898 Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Sat, 7 Sep 2024 09:01:22 +0300 Subject: [PATCH] chore: re-add oas tests for generated OAS (#9036) * chore: re-add oas tests for generated OAS * test fix --- .github/workflows/oas-test.yml | 78 ++++++++++--------- .../src/__tests__/command-docs.test.ts | 2 +- .../oas/medusa-oas-cli/src/command-docs.ts | 12 +-- 3 files changed, 45 insertions(+), 47 deletions(-) diff --git a/.github/workflows/oas-test.yml b/.github/workflows/oas-test.yml index d06c1c6423..3ac94c3e66 100644 --- a/.github/workflows/oas-test.yml +++ b/.github/workflows/oas-test.yml @@ -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 # \ No newline at end of file diff --git a/packages/cli/oas/medusa-oas-cli/src/__tests__/command-docs.test.ts b/packages/cli/oas/medusa-oas-cli/src/__tests__/command-docs.test.ts index b075df6147..1757c4754d 100644 --- a/packages/cli/oas/medusa-oas-cli/src/__tests__/command-docs.test.ts +++ b/packages/cli/oas/medusa-oas-cli/src/__tests__/command-docs.test.ts @@ -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 () => { diff --git a/packages/cli/oas/medusa-oas-cli/src/command-docs.ts b/packages/cli/oas/medusa-oas-cli/src/command-docs.ts index 4ed2f745e7..4122c37ad4 100644 --- a/packages/cli/oas/medusa-oas-cli/src/command-docs.ts +++ b/packages/cli/oas/medusa-oas-cli/src/command-docs.ts @@ -135,10 +135,12 @@ export async function execute(cliParams: OptionValues): Promise { 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 => { +const fixCirclularReferences = async (srcFile: string): Promise => { 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(