Run Playwright Tests #10
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 | |
needs: build_ketcher_micro | |
container: mcr.microsoft.com/playwright:v1.37.0 | |
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 | |
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 | |
EOF | |
- name: Run tests | |
run: | | |
ls example/dist/standalone/ | |
cd example/ && nohup npm run serve:standalone & | |
cd ketcher-autotests/ | |
npm i | |
npx playwright install chromium | |
npx playwright test | |
playwright_tests_macro: | |
timeout-minutes: 120 | |
runs-on: self-hosted | |
needs: build_ketcher_macro | |
container: mcr.microsoft.com/playwright:v1.37.0 | |
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 | |
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 | |
EOF | |
- name: Run tests | |
run: | | |
ls example/dist/standalone/ | |
cd example/ && nohup npm run serve:standalone & | |
cd ketcher-autotests/ | |
npm i | |
npx playwright install chromium | |
npx playwright test | |
# steps: | |
# - uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 1 | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 18.12.0 | |
# - name: Install dependencies | |
# run: npm ci | |
# - name: Build all packages | |
# run: npm run build:packages && npm run build:example:standalone | |
# - name: Run example in standalone mode | |
# run: cd example/ && nohup npm run serve:standalone & | |
# - name: Create env file | |
# run: | | |
# cd ketcher-autotests | |
# echo "DOCKER=true" > .env | |
# echo "KETCHER_URL=$KETCHER_URL" >> .env | |
# echo "MODE=$MODE" >> .env | |
# echo "IGNORE_UNSTABLE_TESTS=$IGNORE_UNSTABLE_TESTS" >> .env | |
# echo "CI_ENVIRONMENT=$CI_ENVIRONMENT" >> .env | |
# echo "ENABLE_POLYMER_EDITOR=$ENABLE_POLYMER_EDITOR" >> .env | |
# echo "USE_SEPARATE_INDIGO_WASM=$USE_SEPARATE_INDIGO_WASM" >> .env | |
# - name: Build autotests for docker | |
# run: cd ketcher-autotests && npm run docker:build | |
# - name: Run playwright tests in docker | |
# run: cd ketcher-autotests && npm run docker:test | |
# - uses: actions/upload-artifact@v3 | |
# # run even if previous steps fails | |
# if: always() | |
# with: | |
# name: playwright-report | |
# path: ketcher-autotests/playwright-report/ | |
# retention-days: 5 |