test: use shared as integration-tests level (#12278)

This commit is contained in:
Harminder Virk
2025-04-28 18:41:19 +05:30
committed by GitHub
parent 5f4a859911
commit 552dc52228
27 changed files with 173 additions and 213 deletions

View File

@@ -19,7 +19,7 @@ runs:
access_token: ${{ github.token }}
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
cache: "yarn"
@@ -28,11 +28,3 @@ runs:
uses: ./.github/actions/cache-deps
with:
extension: ${{ inputs.cache-extension }}
- name: Install dev cli
shell: "bash"
run: sudo npm i -g medusa-dev-cli@preview
- name: Set path to medusa repo
shell: "bash"
run: medusa-dev --set-path-to-repo $(pwd)

View File

@@ -15,13 +15,6 @@ jobs:
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
outputs:
module-matrix: ${{ steps.set-module-matrix.outputs.matrix }}
module-chunks: ${{ steps.set-module-chunks.outputs.chunks }}
http-matrix: ${{ steps.set-http-matrix.outputs.matrix }}
http-chunks: ${{ steps.set-http-chunks.outputs.chunks }}
unit-tests-matrix: ${{ steps.set-unit-tests-matrix.outputs.matrix }}
unit-tests-chunks: ${{ steps.set-unit-tests-chunks.outputs.chunks }}
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
@@ -34,7 +27,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
@@ -47,46 +40,11 @@ jobs:
with:
extension: pipeline
- id: set-module-chunks
name: Set Module Chunks
working-directory: integration-tests/modules
run: echo "chunks=$(yarn run jest --listTests --json | jq -cM '[_nwise(length / 2 | ceil)]')" >> $GITHUB_OUTPUT
- id: set-module-matrix
name: Set Module Matrix
run: echo "matrix=$(echo $CHUNKS | jq -cM 'to_entries | map(.key)')" >> $GITHUB_OUTPUT
env:
CHUNKS: ${{ steps.set-module-chunks.outputs.chunks }}
- id: set-http-chunks
name: Set HTTP Chunks
working-directory: integration-tests/http
run: echo "chunks=$(yarn run jest --listTests --json | jq -cM '[_nwise(length / 2 | ceil)]')" >> $GITHUB_OUTPUT
- id: set-http-matrix
name: Set HTTP Matrix
run: echo "matrix=$(echo $CHUNKS | jq -cM 'to_entries | map(.key)')" >> $GITHUB_OUTPUT
env:
CHUNKS: ${{ steps.set-http-chunks.outputs.chunks }}
- id: set-unit-tests-chunks
name: Set Unit Tests Chunks
run: echo "chunks=$(yarn workspaces list --json | jq -j '[inputs | .name]' | jq -r | jq -cM '[_nwise(length / 2 | ceil)]')" >> $GITHUB_OUTPUT
- id: set-unit-tests-matrix
name: Set Unit Tests Matrix
run: echo "matrix=$(echo $CHUNKS | jq -cM 'to_entries | map(.key)')" >> $GITHUB_OUTPUT
env:
CHUNKS: ${{ steps.set-unit-tests-chunks.outputs.chunks }}
unit-tests-matrix:
unit-tests:
needs: setup
runs-on: ubuntu-latest
name: Shard (${{ matrix.chunk }}) Unit Tests
strategy:
fail-fast: false
matrix:
chunk: ${{ fromJSON(needs.setup.outputs.unit-tests-matrix) }}
fail-fast: true
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
@@ -106,13 +64,15 @@ jobs:
- name: Run unit tests
run: yarn test:chunk
env:
CHUNK: ${{ matrix.chunk }}
CHUNKS: ${{ needs.setup.outputs.unit-tests-chunks }}
integration-tests-packages:
integration-tests-packages-matrix:
needs: setup
name: Packages integration tests (${{ matrix.group }})
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
group: ["slow", "fast"]
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
@@ -152,102 +112,100 @@ jobs:
extension: pipeline
- name: Run integration tests
run: yarn test:integration:packages
run: yarn test:integration:packages:${{ matrix.group }}
env:
DB_PASSWORD: postgres
DB_USERNAME: postgres
integration-tests-http-matrix:
needs: setup
name: Shard (${{ matrix.chunk }}) HTTP Integration Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
chunk: ${{ fromJSON(needs.setup.outputs.http-matrix) }}
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@v3
with:
fetch-depth: 0
- name: Install dependencies
uses: ./.github/actions/cache-deps
with:
extension: pipeline
- name: Run HTTP integration tests
run: yarn test:integration:http
env:
DB_USERNAME: postgres
DB_PASSWORD: postgres
NODE_OPTIONS: "--max_old_space_size=4096"
CHUNK: ${{ matrix.chunk }}
CHUNKS: ${{ needs.setup.outputs.http-chunks }}
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') }}
unit-tests:
integration-tests-packages:
if: ${{ always() }}
runs-on: ubuntu-latest
needs: unit-tests-matrix
needs: integration-tests-packages-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')
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.unit-tests-matrix.result, 'success') }}
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]
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@v3
with:
fetch-depth: 0
- name: Install dependencies
uses: ./.github/actions/cache-deps
with:
extension: pipeline
- name: Run HTTP integration tests
run: yarn test:integration:http -- --shard=${{ matrix.shard_index }}/3
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: Shard (${{ matrix.chunk }}) Module Integration Tests
name: Module Integration Tests - Shard ${{ matrix.shard_index }}
strategy:
matrix:
chunk: ${{ fromJSON(needs.setup.outputs.module-matrix) }}
shard_index: [1, 2]
runs-on: ubuntu-latest
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
@@ -279,7 +237,7 @@ jobs:
extension: pipeline
- name: Run Modules integration tests
run: yarn test:integration:modules
run: yarn test:integration:modules -- --shard=${{ matrix.shard_index }}/3
env:
DB_USERNAME: postgres
DB_PASSWORD: postgres

View File

@@ -5,7 +5,6 @@ on:
paths:
- packages/admin/dashboard/src/i18n/translations/**
jobs:
i18n-validation-admin-dashboard:
runs-on: ubuntu-latest
@@ -17,10 +16,10 @@ jobs:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
node-version: "20"
cache: "yarn"
- name: Install dependencies
working-directory: packages/admin/dashboard
@@ -30,18 +29,18 @@ jobs:
working-directory: packages/admin/dashboard
run: |
git diff --name-only --diff-filter=A origin/develop HEAD -- src/i18n/translations > i18n_added_files.txt
cat i18n_added_files.txt
while read -r file; do
# Get the base name of the file
filename=$(basename "$file")
# Skip those items
if [ "$filename" = "\$schema.json" ] || [ "$filename" = "index.ts" ] || [ -d "$file" ]; then
continue
fi
# Run validation on the file
yarn i18n:validate "$filename"
done < i18n_added_files.txt

View File

@@ -23,7 +23,7 @@
# fetch-depth: 0
#
# - name: Setup Node.js environment
# uses: actions/setup-node@v3
# uses: actions/setup-node@v4
# with:
# node-version: "16.10.0"
# cache: "yarn"

View File

@@ -22,7 +22,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

View File

@@ -20,7 +20,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

View File

@@ -20,7 +20,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
@@ -51,4 +51,4 @@ jobs:
labels: "type: chore"
add-paths: www/packages/docs-ui/src/global-config.ts
branch: "docs/update-config-version"
branch-suffix: "timestamp"
branch-suffix: "timestamp"

View File

@@ -35,7 +35,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
@@ -114,7 +114,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
@@ -187,7 +187,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
@@ -242,7 +242,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

View File

@@ -1,41 +1,42 @@
name: OAS Comments Format Validation
on:
pull_request:
paths:
- www/utils/generated/oas-output/**
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 }}
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: 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: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: "16.10.0"
cache: "yarn"
- name: Install dependencies
uses: ./.github/actions/cache-deps
with:
extension: oas
- name: Install dependencies
uses: ./.github/actions/cache-deps
with:
extension: oas
- name: Build Packages
run: yarn build
- name: Build Packages
run: yarn build
- name: Build OAS
run: |
yarn openapi:generate --dry-run
#
- name: Build OAS
run: |
yarn openapi:generate --dry-run
#

View File

@@ -18,7 +18,7 @@ jobs:
fetch-depth: 0
- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

View File

@@ -16,7 +16,7 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node.js 20
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20

View File

@@ -77,7 +77,7 @@ jobs:
git checkout origin/main -- .changeset
fi
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"

View File

@@ -6,6 +6,8 @@ jobs:
test-cli-with-database:
env:
NODE_ENV: CI
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
REDIS_URL: redis://localhost:6379
DATABASE_URL: "postgres://postgres:postgres@localhost/cli-test"
services:
@@ -40,22 +42,32 @@ jobs:
with:
fetch-depth: 0
- name: Setup development server
uses: ./.github/actions/setup-server
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
cache-extension: "cli-test"
node-version: 20
cache: "yarn"
- name: Install dependencies
uses: ./.github/actions/cache-deps
with:
extension: cli-database
- name: Install Medusa cli
run: npm i -g @medusajs/cli@latest
- name: Create Medusa project
run: |
medusa new cli-test --skip-db --v2 --branch ci
working-directory: ..
run: |
medusa new cli-test --skip-db --v2 --branch ci-custom
- name: run medusa dev
run: medusa-dev --force-install
- name: Enable Corepack
run: corepack enable
- name: Install new app dependencies (via resolutions)
run: rm package-lock.json && yarn install --no-immutable
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
working-directory: ../cli-test
- name: Run migrations

View File

@@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node.js 20
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20