Orion as a service #164
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: Playwright Tests | |
on: | |
push: | |
branches: [ master, develop ] | |
pull_request: | |
branches: [ master, develop ] | |
release: | |
types: [published] | |
workflow_dispatch: | |
defaults: | |
run: | |
working-directory: dashboard/src | |
jobs: | |
test-dashboard-src-with-playwright: | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
# Playwright requires Node.js 14 or higher. | |
strategy: | |
matrix: | |
node-version: [14.x, 16.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
# Launch Orion backend | |
- name: Launch Orion server | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install Orion from local copy | |
run: python -m pip install ../../.[profet] | |
- name: Setup MongoDB | |
uses: supercharge/mongodb-github-action@1.8.0 | |
with: | |
mongodb-version: 6.0 | |
mongodb-db: orion_dashboard_test | |
- name: Populate MongoDB | |
run: | | |
cd ../../ | |
python .github/workflows/orion/pickle_to_mongodb.py | |
cd dashboard/src/ | |
- name: check ulimit | |
run: ulimit -a | |
- name: Start Orion backend | |
run: | | |
# Start Orion backend in repository root folder. | |
cd ../../ | |
mkdir -p gunicorn_tmp_dir | |
orion -vv serve -c .github/workflows/orion/orion_config_mongodb.yaml > dashboard/src/orion-backend-${{ matrix.node-version }}.log 2>&1 & | |
cd dashboard/src/ | |
- name: Install dependencies | |
run: yarn | |
# check files formatting using Carbon's `ci-check` script | |
- name: Check files formatting | |
run: yarn ci-check | |
- name: Install Playwright Browsers | |
run: yarn playwright install --with-deps | |
# Launch Orion frontend, needed by Playwright | |
- name: Build dashboard | |
run: yarn build | |
- name: Serve build | |
run: ./node_modules/.bin/serve -l 3000 build/ & | |
- name: Run Playwright tests | |
run: yarn playwright test --project=chromium --reporter=line | |
# Upload orion backend log. | |
- name: Get Orion backend log | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: orion-backend-log-artifact-${{ matrix.node-version }} | |
path: dashboard/src/orion-backend-${{ matrix.node-version }}.log |