Skip to content
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

Merged
merged 3 commits into from
Jun 22, 2024

Conversation

ip4368
Copy link
Contributor

@ip4368 ip4368 commented Jun 22, 2024

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

  • Old settings/show data won't be broken with newer code/testing if migration works.
  • Making sure no unexpected UI is showing up with specific settings, i.e. start up screen should show up with old settings.

This allows us to test many more things and will ensure the quality of releases.

@ip4368 ip4368 marked this pull request as ready for review June 22, 2024 14:33
@vassbo vassbo merged commit 906a41f into ChurchApps:dev Jun 22, 2024
1 check passed
@ip4368 ip4368 deleted the playwright-ci branch June 22, 2024 15:39
vassbo added a commit that referenced this pull request Jun 26, 2024
* 🚩 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]>
@vassbo
Copy link
Collaborator

vassbo commented Jul 18, 2024

@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!
Error page: https://github.com/ChurchApps/FreeShow/actions/runs/9987678534/artifacts/1714067472

@ip4368
Copy link
Contributor Author

ip4368 commented Jul 18, 2024

@vassbo let me debug a bit today

@vassbo
Copy link
Collaborator

vassbo commented Jul 19, 2024

Thank you! Now it suddenly passes again, I think something weird happend on the Actions backend, and I have no idea why!

@vassbo
Copy link
Collaborator

vassbo commented Jul 19, 2024

And now it stopped working again, please let me know if you figure something out.

@ip4368
Copy link
Contributor Author

ip4368 commented Jul 19, 2024

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.

@vassbo
Copy link
Collaborator

vassbo commented Jul 20, 2024

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.

@ip4368
Copy link
Contributor Author

ip4368 commented Jul 20, 2024

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.

@ip4368
Copy link
Contributor Author

ip4368 commented Jul 20, 2024

Was a bit tricky to bisect if as the dev branch was refreshed and losing the record on when it started to happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants