name: Documentation Tests on: pull_request: paths: - www/** jobs: apps-test: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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@v4 with: node-version: 22 cache: "yarn" - name: Install dependencies uses: ./.github/actions/cache-deps with: extension: docs - name: Install Workspace dependencies working-directory: www run: yarn install - name: Build Doc Apps working-directory: www run: yarn build env: NEXT_PUBLIC_BASE_URL: "http://localhost:3000" NEXT_PUBLIC_BASE_PATH: /api NEXT_PUBLIC_DOCS_URL: "https://medusa-docs.vercel.app" NODE_ENV: production NEXT_PUBLIC_RESOURCES_URL: "http://medusa-types-nine.vercel.app" NEXT_PUBLIC_SANITY_PROJECT_ID: temp NEXT_PUBLIC_SANITY_DATASET: temp NEXT_PUBLIC_ENV: CI # TODO change once we have actual URLs NEXT_PUBLIC_USER_GUIDE_URL: "http://example.com" vale-book: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} working-directory: www/vale run: ./get-files.sh book/app/learn resources id: directories - name: Vale Linter if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} uses: errata-ai/vale-action@reviewdog with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: nofilter env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} vale-resources: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan working-directory: www/vale run: ./get-files.sh resources/app id: directories - name: Vale Linter uses: errata-ai/vale-action@reviewdog if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: nofilter env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} vale-user-guide: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan working-directory: www/vale run: ./get-files.sh user-guide/app id: directories - name: Vale Linter uses: errata-ai/vale-action@reviewdog if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: nofilter env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} vale-ui: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} working-directory: www/vale run: ./get-files.sh ui/app id: directories - name: Vale Linter uses: errata-ai/vale-action@reviewdog if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: nofilter env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} vale-api: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} working-directory: www/vale run: ./get-files.sh api-reference/markdown id: directories - name: Vale Linter uses: errata-ai/vale-action@reviewdog if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: diff_context env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} vale-cloud: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Dependencies run: yarn - name: Build Dependencies run: yarn build - name: Install www/utils Dependencies run: yarn working-directory: www/utils - name: Build packages run: yarn build working-directory: www/utils # reviewdog throws an error when the number # of file changes in a PR is > 300, so # we retrieve the number of changed files # and only run the linter if the number is # less than 300. This is to avoid a PR hanging in # an error state - name: Get PR files number working-directory: www/utils/packages/scripts run: "yarn check:pr-files-count ${{ github.ref_name }}" id: pr-files - name: Get Directories to Scan working-directory: www/vale run: ./get-files.sh cloud/app id: directories - name: Vale Linter uses: errata-ai/vale-action@reviewdog if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} with: files: ${{ steps.directories.outputs.LIST }} fail_on_error: true vale_flags: "--minAlertLevel=error" reporter: github-pr-check token: ${{ github.token }} filter_mode: nofilter env: REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} content-eslint: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install dependencies working-directory: www run: yarn install - name: Run Eslint working-directory: www run: yarn lint:content code-docs-eslint: if: ${{ startsWith(github.head_ref, 'docs/') }} runs-on: ubuntu-latest 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: Install Monorepo dependencies run: yarn install - name: Install dependencies working-directory: www run: yarn install - name: Build packages working-directory: www run: yarn build:packages - name: Run Eslint working-directory: www run: yarn lint