Merge pull request #351 from XpressAI/paul/async #920
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: Frontend Playwright Tests | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ "*" ] | |
workflow_dispatch: | |
inputs: | |
branch: | |
description: 'Branch to run the tests on' | |
required: false | |
default: 'master' | |
jobs: | |
build_and_test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.inputs.branch || github.ref }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Set Branch Name | |
run: | | |
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | |
echo "branch_name=${{ github.event.inputs.branch }}" >> $GITHUB_ENV | |
else | |
echo "branch_name=${{ github.ref_name }}" >> $GITHUB_ENV | |
fi | |
- name: Sanitize Branch Name and Git Hash | |
run: | | |
sanitized_branch_name=$(echo "${{ env.branch_name }}" | sed 's/[^a-zA-Z0-9_-]/_/g') | |
sanitized_git_hash=$(git rev-parse --short "${{ github.sha }}" | sed 's/[^a-zA-Z0-9_-]/_/g') | |
echo "sanitized_branch_name=${sanitized_branch_name}" >> $GITHUB_ENV | |
echo "sanitized_git_hash=${sanitized_git_hash}" >> $GITHUB_ENV | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Yarn | |
run: npm install --global yarn | |
- name: Upgrade pip | |
run: python -m pip install --upgrade pip | |
- name: Build Extension in Dev Mode | |
run: pip install -e . | |
- name: Build Wheel | |
run: | | |
python -m pip install --upgrade build | |
python -m build | |
- name: Install Xircuits from wheel | |
run: | | |
whl_name=$(ls dist/*.whl) | |
pip install $whl_name | |
- name: Install Xircuits Test Component Library | |
run: xircuits install tests | |
- name: Install xvfb | |
run: sudo apt-get install -y xvfb | |
- name: Test E2E | |
run: | | |
(jupyter lab --ServerApp.token='' --ServerApp.password='' --LabApp.default_url='/lab?reset' &) && cd ui-tests && jlpm install && jlpm playwright install && xvfb-run jlpm playwright test e2e/datatype-test.spec.ts | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: playwright-report-${{ matrix.python-version }}-${{ env.sanitized_branch_name }}-${{ env.sanitized_git_hash }} | |
path: ui-tests/playwright-report/ | |
retention-days: 1 |