-
-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add playwright config and github worklow to run e2e test #606
Conversation
* 🚩 Updated languages * ✨ Optimization - Consistent saving - Better organization & naming - Better startup - Playlist names decoded * 🎨 Custom border radius - Fixed some freeze errors - Tweaked settings * ⏱ Metronome * ✨ Start metronome from slide - Drop actions to slide - Fixed new items getting removed if not in selected template - Special textboxes are removed when changing template - Text editor will select the best textbox - List view textboxes in correct oreder - Text editor not removing extra items * Issue #501 Fix (#576) * Show search results * Select songs from search results * Added hymnary * Updated toast message and added error handling. * 🔍 Added Svelte inspector * Optimized media (#586) * 🖼 New handling of thumbnails - New virtual grid * 🖼 Enhancements - Fixed jpg thumbnails - Fixed media loader - Less lag when scrolling * ✔ Removed unused code * ✨ Improved media loading - Slide & stage cache working with the new system - Removed old mediaCache * 🖼 Changed from ffmpeg to custom capturer * 🖼 Faster Media Thumbnails - Fixed gif, webp & mov not working - Uppercase filenames working - Editor thumbnails * ✔ Fixed receivers * ✔ Improved OpenLP parser - Fixed OpenLP songs sometimes not arranged after order - Fixed API Bible not loading - Updated Show search style * Add more checks on whether the note is correct (#591) * ✨ Optimizations - Removed Svelte inspector from prod - Organized code - Preload script map * 📦 SoftProjector importing * ✔ Lots of bugfixes - Fixed timer becoming imprecise - Fixed timer not starting when "Start show" action was triggered - Fixed output not always getting data - Fixed empty action not removed - Fixed Cloud syncing on save and not close - Better sync indication - Stage align & CSS edit - Fixed an error with video transition - Media item thumbnail - Fixed cut in two not working when having multiple textboxes - Media select outline - Align with screen trigger - Toggle to allow output on main screen - Removed some special VideoPsalm tags - Scripture content search has more results * Custom linux arm64 build (#602) * 📦 Custom Linux arm64 build * Updated checkout to v3 & node to 20 * ✔ Removed capture window to remove save dialog sometimes * ✨ Template slide values - Template background & overlay - Custom first slide template - Scripture auto scroll - Fixed playing audio title - OpenLyrics multiple lines tag support - Video volume working again - Change video gain - Improved clearing per output - Window miminum size - Better preview fps - Fixed freeze when slide background was not found - Fixed loop sometimes when setting template - Set video in styles * ✨ Template actions - Template add overlays - Fixed background sometimes not pausing - Custom action activation - Scripture verses on individual lines - Fixed empty scripture preview - Export/import themes & templates - Updated import popup - Reduced import image sizes * Making test to be independent from what was on the existing setup (#605) * Now execute with bash cmd: FS_MOCK_STORE_PATH=/var/folders/xq/hbb976490kjf8s2lxkj0c3xh0000gn/T/tmp.WBSw8XuU8h bash -c 'npm run test && rm -rf ' * Add timeout to actions * Add a screenshot around assert * Update start.test.ts * improve test * make alert ack optional * make npm run test to use tmp dir * Delete test-output/screenshots/failed.png * Update .gitignore to ignore test output dirs * the test should finally be quite stable, and not depends on existing setup * cleaning up minor issues and refactor a little bit * remove unnessary data-testid * fix var naming convension * 🚩 Updated languages * 🔗 Updated repo paths * Add playwright config and github worklow to run e2e test (#606) * add playwright config and github worklow to run e2e test * Add dev branch E2E test status to README.md * Update README.md * 🔊 Audio crossfade - Mute audio when video is playing - Next playlist track action - Start action on video start/end - Changed schedule show to schedule action in calendar * 🎵 Fixed slide play MIDI * 📝 Live captions - Better shows search - Shows loading if not loaded when MIDI triggered - Precise timer interval - Drop media on template - Fixed scripture issues * ✨ Variable dynamic values - Fixed Remote issues - Fixed chords when line break - Enable/disable actions - Toggle actions action - Scripture reference align * ✨ UI enhancements - Group templates - Slide template can update without a show template - You can now delete files synced to drive - Fixed caret resetting when line is removed - Bug fixes * ✔ Fixed Lessons.church - Tweaked media cache - Fade out video audio * Version update --------- Co-authored-by: Jeremy Zongker <[email protected]> Co-authored-by: Daniel Ip <[email protected]>
@ip4368 Do you have any idea why the Playwright test suddenly times out on teardown? It just started to happen seemingly when not much was changed. All the tests are passing! After some configurations I tried running on Windows, and on Linux VM, and that stops the tests successfully, but the GitHub Actions fails! |
@vassbo let me debug a bit today |
Thank you! Now it suddenly passes again, I think something weird happend on the Actions backend, and I have no idea why! |
And now it stopped working again, please let me know if you figure something out. |
I think the electronApp.close() need to be awaited, but I don't think that would change drastically, as sometimes it still fires the awaitables. What was the issue of awaiting that and needed to be removed? The .close() is causing timeout, then something is wrong there too. EDIT: I think there could be other playwright apis that should be awaited but not, but nothing obvious stood out to me yet. |
Okay, the electronApp.close() was awaited in the first place, but never exited suddenly, so I tried removing it and that seemed to help a bit. Still not sure though. |
I tried adding the await back and the test on github action seems to be timing out awaiting the app to be closed even when I commented out every single line of test. My linux desktop is in storage but I am planning to set it up again. Let me see if I can reproduce it. I am guessing something is causing the app to not be fully shutdown cleanly. |
Was a bit tricky to bisect if as the dev branch was refreshed and losing the record on when it started to happen. |
After landing the machine independent e2e test, it enables us to start doing CI on github, as it won't matter with previous setup.
Having the ability to mock out the settings and show data storage, also allows us to test with different preset settings and show data, this allows us to test a few things
This allows us to test many more things and will ensure the quality of releases.