Skip to content

Add test coverage

Add test coverage #2

Workflow file for this run

name: PR checks
on: pull_request
permissions:
contents: read
jobs:
e2e-coverage:
name: e2e-test-coverage
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lxd_channel: ["latest/edge"]
browser: ["chromium"]
outputs:
job_status: ${{job.status}}
steps:
- uses: actions/checkout@v4
- name: Install Dotrun
run: |
sudo pip3 install dotrun
- name: Restore cached keys
uses: actions/cache/restore@v3
with:
path: keys
key: keys-folder
- name: Install LXD-UI dependencies
run: |
set -x
sudo chmod 0777 ../lxd-ui
dotrun install
- name: Run LXD-UI
env:
ENVIRONMENT: devel
PORT: 8407
LXD_UI_BACKEND_IP: 172.17.0.1
run: |
dotrun &
curl --head --fail --retry-delay 2 --retry 100 --retry-connrefused --insecure https://localhost:8407
- name: Set keys permissions
run: |
set -x
sudo chmod -R 0666 keys
sudo chmod 0777 keys
- name: Save keys
uses: actions/cache/save@v3
with:
path: keys
key: keys-folder
- name: Install LXD
uses: canonical/setup-lxd@v0.1.1
with:
channel: ${{ matrix.lxd_channel }}
- name: Setup LXD
shell: bash
run: |
set -x
sudo lxc config set core.https_address "[::]:8443"
sudo lxc config trust add keys/lxd-ui.crt
sudo lxc config set cluster.https_address "127.0.0.1"
sudo lxc cluster enable local
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Install Playwright Browsers
run: npx playwright install --with-deps ${{ matrix.browser }}
- name: Run tests with coverage
run: yarn test-e2e-coverage
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: lxd-playwright-coverage
path: coverage/playwright-report
retention-days: 1