e6cd2ab441
* feat: basic structure for running tests * feat: added test to ci * feat: added server test (wip) * refactor: restuctured entrypoint * feat: added supertest * fix: missing deps * fix: test example ci * fix: updated default envs * feat: debug ci * feat: switch browser * fix: superadmin ci * feat: try another image * fix: try another image with node * fix: mr comments * fix: ci job * chore: workaround to push the image * chore: try with new base image * chore: retry * chore: retry * chore: retry * chore: retry * chore: retry * fix: test via debug * fix: envbar * chore: wrapped up changes, cleaned mr * chore: fix linter and skiped puppeteer download * fix: removed paralelism * fix: paralelism issues
566 lines
18 KiB
YAML
566 lines
18 KiB
YAML
name: Run all tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
IMAGE_VERSION_TAG:
|
|
required: true
|
|
type: string
|
|
DOCKERHUB_USERNAME:
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
LICENSE_TOKEN:
|
|
required: true
|
|
CHROMATIC_PROJECT_TOKEN:
|
|
required: true
|
|
STRIPE_API_KEY:
|
|
required: true
|
|
# STRIPE_ENDPOINT_SIGNING_KEY:
|
|
# required: true
|
|
APOLLO_KEY:
|
|
required: true
|
|
CODECOV_TOKEN:
|
|
required: true
|
|
DOCKERHUB_TOKEN:
|
|
required: true
|
|
|
|
jobs:
|
|
lint-and-prettier:
|
|
name: Lint and prettier
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install hardened (no HARD flag)
|
|
run: PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- name: Lint everything
|
|
run: yarn eslint:projectwide
|
|
- name: Run prettier check
|
|
run: yarn prettier:check
|
|
- name: Check JSON Schema is up to date
|
|
run: |
|
|
yarn helm:jsonschema:generate
|
|
git diff --exit-code
|
|
|
|
pre-commit:
|
|
name: Precommit check
|
|
runs-on: blacksmith
|
|
container:
|
|
image: speckle/pre-commit-runner:latest
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
- run: git config --global --add safe.directory $PWD
|
|
- name: Set precommit
|
|
run: pre-commit install-hooks --config ./.pre-commit-config.yaml
|
|
- name: Run precommit
|
|
run: pre-commit run --all-files --config ./.pre-commit-config.yaml
|
|
- name: Diff on failure
|
|
if: failure()
|
|
run: git --no-pager diff
|
|
|
|
test-frontend-2:
|
|
name: Frontend
|
|
runs-on: blacksmith
|
|
if: false # disabled as there is nothing to run
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
|
|
test-viewer:
|
|
name: Viewer
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- name: Run tests
|
|
run: yarn test
|
|
working-directory: 'packages/viewer'
|
|
- name: Build viewer-sandbox
|
|
run: yarn build
|
|
working-directory: 'packages/viewer-sandbox'
|
|
|
|
ui-components-chromatic:
|
|
env:
|
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
|
name: UI components chromatic
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- name: Run chromatic
|
|
run: yarn chromatic
|
|
working-directory: 'packages/ui-components'
|
|
|
|
test-shared:
|
|
name: Shared
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Run tests (all FFs)
|
|
run: ENABLE_ALL_FFS=1 yarn test:ci
|
|
working-directory: 'packages/shared'
|
|
- name: Run tests (no FFs)
|
|
run: DISABLE_ALL_FFS=1 yarn test:ci
|
|
working-directory: 'packages/shared'
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
disable_search: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: packages/shared/coverage/coverage-final.json
|
|
- name: Build
|
|
run: yarn build
|
|
working-directory: 'packages/shared'
|
|
- name: Ensure ESM import works
|
|
run: node ./e2e/testEsm.mjs
|
|
working-directory: 'packages/shared'
|
|
- name: Ensure CJS require works
|
|
run: node ./e2e/testCjs.cjs
|
|
working-directory: 'packages/shared'
|
|
|
|
test-objectsender:
|
|
name: Object Sender
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- name: Test object sender
|
|
run: yarn test:ci
|
|
working-directory: 'packages/objectsender'
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
disable_search: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: packages/objectsender/coverage/coverage-final.json
|
|
|
|
test-ui-components:
|
|
name: UI Components
|
|
runs-on: blacksmith
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true yarn --immutable # we need PLAYWRIGHT
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- name: Test via Storybook
|
|
run: yarn storybook:test:ci
|
|
working-directory: 'packages/ui-components'
|
|
|
|
test-preview-service:
|
|
name: Preview service
|
|
runs-on: blacksmith
|
|
container:
|
|
image: ghcr.io/specklesystems/speckle-ubuntu-chromium:latest
|
|
services:
|
|
redis:
|
|
image: redis:7.2.4
|
|
options: >-
|
|
--health-cmd "redis-cli ping"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
ports:
|
|
- 6379:6379
|
|
env:
|
|
REDIS_URL: redis://redis:6379
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- run: dbus-daemon --system &> /dev/null
|
|
- run: cp .env.test-example .env.test
|
|
working-directory: 'packages/preview-service'
|
|
- run: yarn build:frontend
|
|
working-directory: 'packages/preview-service'
|
|
- run: yarn link:frontend
|
|
working-directory: 'packages/preview-service'
|
|
- name: Run tests
|
|
run: yarn test:ci
|
|
working-directory: 'packages/preview-service'
|
|
|
|
docker-build-postgres-container:
|
|
runs-on: blacksmith
|
|
name: Docker build postgres container
|
|
steps:
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ inputs.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: Build and push
|
|
uses: useblacksmith/build-push-action@v1
|
|
with:
|
|
push: true
|
|
tags: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
file: ./utils/postgres/Dockerfile
|
|
|
|
test-server:
|
|
name: Server
|
|
needs: [docker-build-postgres-container]
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
services:
|
|
redis:
|
|
image: redis:7.2.4
|
|
options: >-
|
|
--health-cmd "redis-cli ping"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
ports:
|
|
- 6379:6379
|
|
postgres:
|
|
image: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
env:
|
|
POSTGRES_DB: speckle2_test
|
|
POSTGRES_PASSWORD: speckle
|
|
POSTGRES_USER: speckle
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
minio:
|
|
image: bitnami/minio
|
|
env:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
MINIO_SKIP_CLIENT: yes
|
|
ports:
|
|
- 9000:9000
|
|
env:
|
|
NODE_ENV: test
|
|
POSTGRES_URL: 'postgres://speckle:speckle@localhost:5432/speckle2_test'
|
|
POSTGRES_MAX_CONNECTIONS_SERVER: 20
|
|
SESSION_SECRET: 'keyboard cat'
|
|
STRATEGY_LOCAL: 'true'
|
|
CANONICAL_URL: 'http://127.0.0.1:3000'
|
|
S3_ENDPOINT: 'http://localhost:9000'
|
|
S3_ACCESS_KEY: 'minioadmin'
|
|
S3_SECRET_KEY: 'minioadmin'
|
|
S3_BUCKET: 'speckle-server'
|
|
S3_CREATE_BUCKET: 'true'
|
|
REDIS_URL: 'redis://localhost:6379'
|
|
S3_REGION: '' # optional, defaults to 'us-east-1'
|
|
FRONTEND_ORIGIN: 'http://127.0.0.1:8081'
|
|
ENCRYPTION_KEYS_PATH: 'test/assets/automate/encryptionKeys.json'
|
|
ENABLE_ALL_FFS: 'true'
|
|
RATELIMITER_ENABLED: 'false'
|
|
LICENSE_TOKEN: ${{ secrets.LICENSE_TOKEN }}
|
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
|
|
STRIPE_ENDPOINT_SIGNING_KEY: ${{ secrets.STRIPE_ENDPOINT_SIGNING_KEY }}
|
|
APOLLO_KEY: ${{ secrets.APOLLO_KEY }}
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- run: cp .env.test-example .env.test
|
|
working-directory: 'packages/server'
|
|
- name: 'Run test'
|
|
run: yarn test:report
|
|
working-directory: 'packages/server'
|
|
timeout-minutes: 30
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
disable_search: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: packages/server/coverage/lcov.info
|
|
- name: Introspect GQL schema for subsequent checks
|
|
run: 'IGNORE_MISSING_MIGRATIONS=true yarn cli graphql introspect'
|
|
working-directory: 'packages/server'
|
|
- name: Checking for GQL schema breakages against app.speckle.systems
|
|
run: 'yarn rover graph check Speckle-Server@app-speckle-systems --schema ./introspected-schema.graphql'
|
|
working-directory: 'packages/server'
|
|
- name: Checking for GQL schema breakages against latest.speckle.systems
|
|
run: 'yarn rover graph check Speckle-Server@latest-speckle-systems --schema ./introspected-schema.graphql'
|
|
working-directory: 'packages/server'
|
|
|
|
test-server-no-ff:
|
|
name: Server no ff
|
|
needs: [docker-build-postgres-container]
|
|
runs-on: blacksmith-8vcpu-ubuntu-2404
|
|
services:
|
|
redis:
|
|
image: redis:7.2.4
|
|
options: >-
|
|
--health-cmd "redis-cli ping"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
ports:
|
|
- 6379:6379
|
|
postgres:
|
|
image: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
env:
|
|
POSTGRES_DB: speckle2_test
|
|
POSTGRES_PASSWORD: speckle
|
|
POSTGRES_USER: speckle
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
minio:
|
|
image: bitnami/minio
|
|
env:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
MINIO_SKIP_CLIENT: yes
|
|
ports:
|
|
- 9000:9000
|
|
env:
|
|
DISABLE_ALL_FFS: 'true'
|
|
NODE_ENV: test
|
|
POSTGRES_URL: 'postgres://speckle:speckle@localhost:5432/speckle2_test'
|
|
POSTGRES_MAX_CONNECTIONS_SERVER: 20
|
|
SESSION_SECRET: 'keyboard cat'
|
|
STRATEGY_LOCAL: 'true'
|
|
CANONICAL_URL: 'http://127.0.0.1:3000'
|
|
S3_ENDPOINT: 'http://localhost:9000'
|
|
S3_ACCESS_KEY: 'minioadmin'
|
|
S3_SECRET_KEY: 'minioadmin'
|
|
S3_BUCKET: 'speckle-server'
|
|
S3_CREATE_BUCKET: 'true'
|
|
REDIS_URL: 'redis://localhost:6379'
|
|
S3_REGION: '' # optional, defaults to 'us-east-1'
|
|
FRONTEND_ORIGIN: 'http://127.0.0.1:8081'
|
|
ENCRYPTION_KEYS_PATH: 'test/assets/automate/encryptionKeys.json'
|
|
ENABLE_ALL_FFS: 'true'
|
|
RATELIMITER_ENABLED: 'false'
|
|
LICENSE_TOKEN: ${{ secrets.LICENSE_TOKEN }}
|
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
|
|
STRIPE_ENDPOINT_SIGNING_KEY: ${{ secrets.STRIPE_ENDPOINT_SIGNING_KEY }}
|
|
APOLLO_KEY: ${{ secrets.APOLLO_KEY }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- run: cp .env.test-example .env.test
|
|
working-directory: 'packages/server'
|
|
- name: 'Run test'
|
|
run: yarn test:report
|
|
working-directory: 'packages/server'
|
|
timeout-minutes: 30
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
disable_search: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: packages/server/coverage/lcov.info
|
|
|
|
test-server-multiregion:
|
|
name: Server multiregion
|
|
needs: [docker-build-postgres-container]
|
|
if: false # disabled
|
|
runs-on: blacksmith
|
|
services:
|
|
redis:
|
|
image: redis:7.2.4
|
|
options: >-
|
|
--health-cmd "redis-cli ping"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
ports:
|
|
- 6379:6379
|
|
|
|
postgres0:
|
|
image: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
env:
|
|
POSTGRES_DB: speckle2_test
|
|
POSTGRES_PASSWORD: speckle
|
|
POSTGRES_USER: speckle
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
postgres1:
|
|
image: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
env:
|
|
POSTGRES_DB: speckle2_test
|
|
POSTGRES_PASSWORD: speckle
|
|
POSTGRES_USER: speckle
|
|
ports:
|
|
- 5433:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
postgres2:
|
|
image: speckle/speckle-postgres:${{ inputs.IMAGE_VERSION_TAG }}
|
|
env:
|
|
POSTGRES_DB: speckle2_test
|
|
POSTGRES_PASSWORD: speckle
|
|
POSTGRES_USER: speckle
|
|
ports:
|
|
- 5434:5432
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
minio0:
|
|
image: bitnami/minio
|
|
env:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
MINIO_SKIP_CLIENT: yes
|
|
ports:
|
|
- 9000:9000
|
|
|
|
minio1:
|
|
image: bitnami/minio
|
|
env:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
MINIO_SKIP_CLIENT: yes
|
|
ports:
|
|
- 9001:9000
|
|
|
|
minio2:
|
|
image: bitnami/minio
|
|
env:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
MINIO_SKIP_CLIENT: yes
|
|
ports:
|
|
- 9002:9000
|
|
|
|
env:
|
|
NODE_ENV: test
|
|
POSTGRES_URL: 'postgres://speckle:speckle@localhost:5432/speckle2_test'
|
|
POSTGRES_MAX_CONNECTIONS_SERVER: 50
|
|
SESSION_SECRET: 'keyboard cat'
|
|
STRATEGY_LOCAL: 'true'
|
|
CANONICAL_URL: 'http://127.0.0.1:3000'
|
|
S3_ENDPOINT: 'http://localhost:9000'
|
|
S3_ACCESS_KEY: 'minioadmin'
|
|
S3_SECRET_KEY: 'minioadmin'
|
|
S3_BUCKET: 'speckle-server'
|
|
S3_CREATE_BUCKET: 'true'
|
|
REDIS_URL: 'redis://localhost:6379'
|
|
S3_REGION: '' # optional, defaults to 'us-east-1'
|
|
FRONTEND_ORIGIN: 'http://127.0.0.1:8081'
|
|
ENCRYPTION_KEYS_PATH: 'test/assets/automate/encryptionKeys.json'
|
|
ENABLE_ALL_FFS: 'true'
|
|
RATELIMITER_ENABLED: 'false'
|
|
LICENSE_TOKEN: ${{ secrets.LICENSE_TOKEN }}
|
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
|
|
STRIPE_ENDPOINT_SIGNING_KEY: ${{ secrets.STRIPE_ENDPOINT_SIGNING_KEY }}
|
|
#
|
|
# This are the only different keys:
|
|
#
|
|
MULTI_REGION_CONFIG_PATH: '../../.github/workflows/config/multiregion.test-ci.json'
|
|
FF_GATEKEEPER_MODULE_ENABLED: 'true'
|
|
FF_WORKSPACES_MODULE_ENABLED: 'true'
|
|
FF_WORKSPACES_MULTI_REGION_ENABLED: 'true'
|
|
FF_MOVE_PROJECT_REGION_ENABLED: 'true'
|
|
RUN_TESTS_IN_MULTIREGION_MODE: true
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
- uses: useblacksmith/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
- name: Install dependencies
|
|
run: YARN_ENABLE_HARDENED_MODE=0 PUPPETEER_SKIP_DOWNLOAD=true PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn --immutable
|
|
- name: Build public packages
|
|
run: yarn build:public
|
|
- run: cp .env.test-example .env.test
|
|
working-directory: 'packages/server'
|
|
- name: 'Run test'
|
|
run: yarn test:report
|
|
working-directory: 'packages/server'
|
|
timeout-minutes: 30
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
disable_search: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: packages/server/coverage/lcov.info
|