Autotests: #6184 - autotests update snake layout logic taking into ac… #62
This file contains 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: Run Playwright Tests | |
on: | |
push: | |
branches: | |
- master | |
- 'release/**' | |
pull_request: | |
branches: | |
- master | |
- 'release/**' | |
workflow_dispatch: | |
env: | |
# Warnings breaks build on CI | |
# See: https://github.com/orgs/community/discussions/25228#discussioncomment-3246960 | |
CI: false | |
MODE: standalone | |
KETCHER_URL: http://127.0.0.1:4002 | |
DOCKER: true | |
IGNORE_UNSTABLE_TESTS: true | |
CI_ENVIRONMENT: true | |
USE_SEPARATE_INDIGO_WASM: true | |
jobs: | |
build_ketcher_micro: | |
runs-on: ubuntu-latest | |
container: node:18.14-bullseye-slim | |
env: | |
ENABLE_POLYMER_EDITOR: false | |
steps: | |
- name: Install dependencies | |
run: apt-get update -y && apt-get install -y git | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Git safe | |
run: git config --global --add safe.directory '*' | |
- name: Install NPM dependencies | |
run: npm ci | |
- name: Build all packages | |
run: npm run build:packages && npm run build:example:standalone | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ketcher-dist-micro | |
path: example/dist | |
build_ketcher_macro: | |
runs-on: ubuntu-latest | |
container: node:18.14-bullseye-slim | |
env: | |
ENABLE_POLYMER_EDITOR: true | |
steps: | |
- name: Install dependencies | |
run: apt-get update -y && apt-get install -y git | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Git safe | |
run: git config --global --add safe.directory '*' | |
- name: Install NPM dependencies | |
run: npm ci | |
- name: Build all packages | |
run: npm run build:packages && npm run build:example:standalone | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ketcher-dist-macro | |
path: example/dist | |
playwright_tests_micro: | |
timeout-minutes: 120 | |
runs-on: self-hosted-a | |
needs: build_ketcher_micro | |
container: mcr.microsoft.com/playwright:v1.44.1-jammy | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1, 2] | |
shardTotal: [2] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: npm ci | |
- name: Create folder for dist | |
run: mkdir -p example/dist | |
- name: Download compiled ketcher | |
uses: actions/download-artifact@v3 | |
with: | |
name: ketcher-dist-micro | |
path: example/dist/ | |
- name: Create env file | |
env: | |
ENABLE_POLYMER_EDITOR: false | |
run: | | |
cat > ketcher-autotests/.env << EOF | |
DOCKER=true | |
KETCHER_URL=$KETCHER_URL | |
MODE=$MODE | |
IGNORE_UNSTABLE_TESTS=$IGNORE_UNSTABLE_TESTS | |
CI_ENVIRONMENT=$CI_ENVIRONMENT | |
USE_SEPARATE_INDIGO_WASM=$USE_SEPARATE_INDIGO_WASM | |
ENABLE_POLYMER_EDITOR=$ENABLE_POLYMER_EDITOR | |
EOF | |
- name: Run tests | |
run: | | |
cd example/ && nohup npm run serve:standalone & | |
cd ketcher-autotests/ | |
npm i | |
npx playwright install chromium | |
npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | |
- uses: actions/upload-artifact@v3 | |
# run even if previous steps fails | |
if: always() | |
with: | |
name: playwright-report-micro-${{ matrix.shardIndex }} | |
path: ketcher-autotests/playwright-report/ | |
retention-days: 5 | |
playwright_tests_macromolecules: | |
timeout-minutes: 120 | |
runs-on: self-hosted-a | |
needs: build_ketcher_macro | |
container: mcr.microsoft.com/playwright:v1.44.1-jammy | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1, 2, 3, 4] | |
shardTotal: [4] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: npm ci | |
- name: Create folder for dist | |
run: mkdir -p example/dist | |
- name: Download compiled ketcher | |
uses: actions/download-artifact@v3 | |
with: | |
name: ketcher-dist-macro | |
path: example/dist/ | |
- name: Create env file | |
env: | |
ENABLE_POLYMER_EDITOR: true | |
run: | | |
cat > ketcher-autotests/.env << EOF | |
DOCKER=true | |
KETCHER_URL=$KETCHER_URL | |
MODE=$MODE | |
IGNORE_UNSTABLE_TESTS=$IGNORE_UNSTABLE_TESTS | |
CI_ENVIRONMENT=$CI_ENVIRONMENT | |
USE_SEPARATE_INDIGO_WASM=$USE_SEPARATE_INDIGO_WASM | |
ENABLE_POLYMER_EDITOR=$ENABLE_POLYMER_EDITOR | |
EOF | |
- name: Run tests | |
run: | | |
cd example/ && nohup npm run serve:standalone & | |
cd ketcher-autotests/ | |
npm i | |
npx playwright install chromium | |
npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | |
- uses: actions/upload-artifact@v3 | |
# run even if previous steps fails | |
if: always() | |
with: | |
name: playwright-report-macromolecules-${{ matrix.shardIndex }} | |
path: ketcher-autotests/playwright-report/ | |
retention-days: 5 |