(test) O3-2113 : Setup playwright and add login e2e test #9
Workflow file for this run
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: E2E Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
testOnPR: | |
if: ${{ github.event_name == 'pull_request' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Copy test environment variables | |
run: | | |
cp example.env .env | |
sed -i 's/8080/8180/g' .env | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Cache dependencies | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
- name: Install dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: yarn setup | |
- name: Install Playwright Browsers | |
run: npx playwright install chromium --with-deps | |
- name: Run dev server | |
run: yarn run:omrs develop --sources packages/apps/esm-login-app --port 8180 & # Refer to O3-1994 | |
- name: Run E2E tests | |
run: yarn playwright test | |
- name: Upload Report | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
testOnPush: | |
if: ${{ github.event_name == 'push' }} | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Copy test environment variables | |
run: | | |
cp example.env .env | |
sed -i 's/8080/8180/g' .env | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Cache dependencies | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
- name: Install dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: yarn setup | |
- name: Install Playwright Browsers | |
run: npx playwright install chromium --with-deps | |
- name: Run db and web containers | |
run: | | |
cd e2e/support | |
docker-compose up -d | |
- name: Wait for OpenMRS instance to start | |
run: while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' http://localhost:9000/openmrs/login.htm)" != "200" ]]; do sleep 10; done | |
- name: Run dev server | |
run: yarn run:omrs develop --sources packages/apps/esm-login-app --backend "http://localhost:9000" --port 8180 & # Refer to O3-1994 | |
- name: Run E2E tests | |
run: yarn playwright test | |
- name: Upload report | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 |