electron-playwright-example
electron-playwright-example copied to clipboard
[question] any idea on how to test these in github actions?
[edit]: I managed to make it work; See reploy to original post.
Locally, on multiple computers of mine (different OS) everything works fine. However, when I run this on CI/CD via github actions, I get this pesky error which I was also getting when I was executing the against a regular chromium app (non-production build).
Getting a little desperate here. The build is available as expected on the out
dir, just like locally.
Error: electron.launch: Process failed to launch!
21 | process.env.CI = 'e2e'
22 |
> 23 | electronApp = await electron.launch({
| ^
24 | args: [appInfo.main],
25 | executablePath: appInfo.executable,
26 | })
Hope you have some pointers for me! :robot:
For curiosity, here's a minimum version of my checks-slow.yml
(which contains the e2e tests)
name: Callable - Slow Checks
on:
workflow_call:
jobs:
e2e-test:
timeout-minutes: 20
name: 🐌 Slow checks
runs-on: ubuntu-latest
steps:
- name: 🦖 Cancel Previous Runs
uses: styfle/[email protected]
- name: 🔻 Checkout repo
uses: actions/checkout@v3
# Basically runs `npm run ci`
- name: 🏃 Run Node and NPM setup
uses: ./.github/actions/setup-project
- name: 🌏 Install playwright chromium browser
run: npx playwright install --with-deps
# Createsa build for the currently running OS (linux ubuntu in this case)
- name: 🏗️ Build test project
run: npm run build
# Basically `npx playwright test`
- name: 🎭 Run Playwright tests
run: npm run playwright:ci
- name: 📄 Upload test results
uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30