Open
Conversation
* add multi-map mouse position control * combine zoom controls ## Background ## Why did you take this approach? ## Anything in particular that should be highlighted? ## Screenshot(s) ## Checks - [ ] I ran unit tests. - [ ] I've tested the relevant changes from a user POV. - [ ] I've formatted my Python code using `black .`. _Hint_ To run all python unit tests run the following command from the root repository directory: ```sh bash run_python_tests.sh ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
Before, all frontend tests had to be run manually before any release, which was time-consuming and error-prone. Automating these tests with Playwright saves significant time and ensures consistent validation. This setup is also extensible and can be used to validate other frontend components in the future.
Why did you take this approach?
I chose Playwright for its robust parallel processing capabilities and cross-browser support. Initially, I attempted to run all datasets fully in parallel to speed up test execution. However, this caused memory issues due to the large number of datasets and browser instances.
To balance speed and stability, I structured the tests so that all datasets within a single test run sequentially, but the tests themselves are run in parallel across workers. This approach maximizes throughput while avoiding memory overload and has proven to be the fastest stable configuration.
Notes
-Area plots/ Netcdf file download for subsets can be very memory-intensive, and when one dataset fails, it can cause the local server to crash and stopping test for other datasets. In these cases, it’s better to identify and address the specific dataset causing the issue, then re-run the tests. This ensures the remaining datasets can be processed reliably without triggering another crash.
Checks
black ..Hint To run all python unit tests run the following command from the root repository directory: