Skip to content

ci: move all e2e vscode tests to run in ci #566

ci: move all e2e vscode tests to run in ci

ci: move all e2e vscode tests to run in ci #566

Workflow file for this run

on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: 'pr-${{ github.event.pull_request.number }}'
cancel-in-progress: true
jobs:
test-vscode:
runs-on: ubuntu-latest
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- uses: pnpm/action-setup@v4
with:
version: latest
- name: Install dependencies
run: pnpm install
- name: Run CI
run: pnpm run ci
test-vscode-e2e:
runs-on: ubuntu-2404-8
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- uses: pnpm/action-setup@v4
with:
version: latest
- name: Install dependencies
run: pnpm install
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Cache pip dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pip
key:
${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt',
'**/pyproject.toml', '**/setup.py') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache virtual environment
uses: actions/cache@v4
with:
path: .venv
key:
${{ runner.os }}-venv-${{ hashFiles('**/requirements*.txt',
'**/pyproject.toml', '**/setup.py') }}
restore-keys: |
${{ runner.os }}-venv-
- name: Install python dependencies
run: |
python -m venv .venv
source .venv/bin/activate
make install-dev
- name: Install code-server
run: curl -fsSL https://code-server.dev/install.sh | sh
- name: Install Playwright browsers
working-directory: ./vscode/extension
run: pnpm exec playwright install
- name: Run e2e tests
working-directory: ./vscode/extension
timeout-minutes: 90
run: |
source ../../.venv/bin/activate
pnpm run test:e2e
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: vscode/extension/playwright-report/
retention-days: 30