chore(docs): doc changes for next release (automated) #51344
This file contains hidden or 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: Medusa Pipeline | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| - v1.x | |
| pull_request: | |
| branches: | |
| - "**" | |
| jobs: | |
| setup: | |
| 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@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Assert changed | |
| run: ./scripts/assert-changed-files-actions.sh "packages" | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| include-hidden-files: true | |
| path: | | |
| packages/**/dist | |
| packages/plugins/*/.medusa/server | |
| integration-tests/**/dist | |
| !packages/**/node_modules | |
| retention-days: 1 | |
| lint-medusa: | |
| needs: setup | |
| name: Lint (Medusa rules) | |
| runs-on: ubuntu-latest | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| skip-build: "true" | |
| # The Medusa-only ESLint config resolves `@medusajs/eslint-plugin` from its | |
| # built output, so build just that package. | |
| - name: Build ESLint plugin | |
| run: yarn workspace @medusajs/eslint-plugin build | |
| # Runs ONLY the @medusajs/eslint-plugin convention rules (scope/rules from | |
| # the root config, via eslint.medusa.cjs). ESLint exits non-zero on errors, | |
| # so a Medusa rule error fails this check; warnings do not. | |
| - name: Lint Medusa rules | |
| run: yarn lint:medusa | |
| unit-tests-matrix: | |
| needs: setup | |
| name: Unit Tests - Shard ${{ matrix.shard_index }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| shard_index: [1, 2, 3, 4] | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - name: Get number of CPU cores | |
| id: cpu-cores | |
| uses: SimenB/github-actions-cpu-cores@v2 | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| skip-build: "true" | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| path: . | |
| - name: Run unit tests | |
| run: yarn test -- --shard=${{ matrix.shard_index }}/4 --maxWorkers=${{ steps.cpu-cores.outputs.count }} --passWithNoTests | |
| unit-tests: | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| needs: unit-tests-matrix | |
| steps: | |
| - run: exit 1 | |
| if: >- | |
| ${{ | |
| contains(needs.unit-tests-matrix.result, 'failure') | |
| || contains(needs.unit-tests-matrix.result, 'cancelled') | |
| || contains(needs.unit-tests-matrix.result, 'skipped') | |
| }} | |
| - run: exit 0 | |
| if: ${{ contains(needs.unit-tests-matrix.result, 'success') }} | |
| integration-tests-packages-matrix: | |
| needs: setup | |
| name: Package Integration Tests (${{ matrix.group }}) - Shard ${{ matrix.shard_index }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| group: ["slow", "fast"] | |
| shard_index: [1, 2, 3] | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| services: | |
| redis: | |
| image: redis | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 6379:6379 | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_USER: postgres | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - name: Get number of CPU cores | |
| id: cpu-cores | |
| uses: SimenB/github-actions-cpu-cores@v2 | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| skip-build: "true" | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| path: . | |
| - name: Run package integration tests | |
| run: yarn test:integration:packages:${{ matrix.group }} -- --shard=${{ matrix.shard_index }}/3 --maxWorkers=${{ steps.cpu-cores.outputs.count }} | |
| env: | |
| DB_PASSWORD: postgres | |
| DB_USERNAME: postgres | |
| integration-tests-packages: | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| needs: integration-tests-packages-matrix | |
| steps: | |
| - run: exit 1 | |
| if: >- | |
| ${{ | |
| contains(needs.integration-tests-packages-matrix.result, 'failure') | |
| || contains(needs.integration-tests-packages-matrix.result, 'cancelled') | |
| || contains(needs.integration-tests-packages-matrix.result, 'skipped') | |
| }} | |
| - run: exit 0 | |
| if: ${{ contains(needs.integration-tests-packages-matrix.result, 'success') }} | |
| integration-tests-http-matrix: | |
| needs: setup | |
| name: HTTP Integration Tests - Shard ${{ matrix.shard_index }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| shard_index: [1, 2, 3, 4] | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| services: | |
| redis: | |
| image: redis | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 6379:6379 | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_USER: postgres | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - name: Get number of CPU cores | |
| id: cpu-cores | |
| uses: SimenB/github-actions-cpu-cores@v2 | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| skip-build: "true" | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| path: . | |
| - name: Run HTTP integration tests | |
| run: yarn test:integration:http -- --shard=${{ matrix.shard_index }}/4 --maxWorkers=${{ steps.cpu-cores.outputs.count }} | |
| env: | |
| DB_USERNAME: postgres | |
| DB_PASSWORD: postgres | |
| NODE_OPTIONS: "--max_old_space_size=4096" | |
| integration-tests-http: | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| needs: integration-tests-http-matrix | |
| steps: | |
| - run: exit 1 | |
| if: >- | |
| ${{ | |
| contains(needs.integration-tests-http-matrix.result, 'failure') | |
| || contains(needs.integration-tests-http-matrix.result, 'cancelled') | |
| || contains(needs.integration-tests-http-matrix.result, 'skipped') | |
| }} | |
| - run: exit 0 | |
| if: ${{ contains(needs.integration-tests-http-matrix.result, 'success') }} | |
| integration-tests-modules-matrix: | |
| needs: setup | |
| name: Module Integration Tests - Shard ${{ matrix.shard_index }} | |
| strategy: | |
| matrix: | |
| shard_index: [1, 2, 3, 4] | |
| runs-on: ubuntu-latest | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| services: | |
| redis: | |
| image: redis | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 6379:6379 | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_USER: postgres | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-retries 10 | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 100 | |
| - name: Get number of CPU cores | |
| id: cpu-cores | |
| uses: SimenB/github-actions-cpu-cores@v2 | |
| - name: Install dependencies | |
| uses: ./.github/actions/cache-deps | |
| with: | |
| extension: pipeline | |
| skip-build: "true" | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| path: . | |
| - name: Run Modules integration tests | |
| run: yarn test:integration:modules -- --shard=${{ matrix.shard_index }}/4 --maxWorkers=${{ steps.cpu-cores.outputs.count }} | |
| env: | |
| DB_USERNAME: postgres | |
| DB_PASSWORD: postgres | |
| NODE_OPTIONS: "--max_old_space_size=4096" | |
| CHUNK: ${{ matrix.chunk }} | |
| CHUNKS: ${{ needs.setup.outputs.module-chunks }} | |
| integration-tests-modules: | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| needs: integration-tests-modules-matrix | |
| steps: | |
| - run: exit 1 | |
| if: >- | |
| ${{ | |
| contains(needs.integration-tests-modules-matrix.result, 'failure') | |
| || contains(needs.integration-tests-modules-matrix.result, 'cancelled') | |
| || contains(needs.integration-tests-modules-matrix.result, 'skipped') | |
| }} | |
| - run: exit 0 | |
| if: ${{ contains(needs.integration-tests-modules-matrix.result, 'success') }} |