zeppelin
zeppelin copied to clipboard
[ZEPPELIN-6358] Seperate environment config and shared utilities from #5101
What is this PR for?
In #5101, the amount of changes became too large, and a committer suggested splitting it into smaller parts. Since the updates related to the common test environment and shared utility functions have already proven to be stable, I separated those pieces into this dedicated PR.
This PR includes only the safe, standalone changes that improve the shared E2E environment and utilities.
[Summary of Changes]
-
Refined and separated E2E test environment setup
-
Improved global setup/teardown
- CI: using ZEPPELIN_E2E_TEST_NOTEBOOK_DIR
- To use
ZEPPELIN_E2E_TEST_NOTEBOOK_DIRlocally, the server has to be restarted at least once, which feels a bit odd to enforce during E2E test execution. To make things less messy from a UI perspective, I reorganized the structure so that all tests are collected underE2E_TEST_FOLDERinstead.
-
Added folder/notebook initialization and cleanup logic
- you can run it standalone with this command:
npm run e2e:cleanup(automatically run this once the tests are finished)
- you can run it standalone with this command:
-
-
Extracted shared utilities and constants
- Added common E2E constant (e.g.,
E2E_TEST_FOLDER) - Introduced cleanup utilities to ensure stable post-test state
- Added common E2E constant (e.g.,
-
Updated GitHub Actions (
frontend.yml)- Added environment variables(for python interpreter), notebook repo initialization, and cleanup steps
- Due to potential storage and cost concerns, I shortened the retention period for the
Playwright reportfrom 30 days to 3 days
-
Updated Playwright / ESLint configurations
- ts to cjs
What type of PR is it?
Improvement Refactoring
Todos
What is the Jira issue?
ZEPPELIN-6358
How should this be tested?
cd zeppelin-web-angular
nvm use
npm run start
npm run e2e
npm run e2e:cleanup
Screenshots (if appropriate)
Questions:
- Does the license files need to update? No
- Is there breaking changes for older versions? No
- Does this needs documentation? No