[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_DIR` locally, 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 under `E2E_TEST_FOLDER` instead.

  * 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)

* **Extracted shared utilities and constants**
  * Added common E2E constant (e.g., `E2E_TEST_FOLDER`)
  * Introduced cleanup utilities to ensure stable post-test state

* **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 report` from 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?
```sh
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


Closes #5128 from dididy/e2e/notebook-base.

Signed-off-by: ChanHo Lee <chanholee@apache.org>
10 files changed
tree: 006c073f4cff0287c08e99dae5f31517f54aac1c
  1. .github/
  2. .husky/
  3. .mvn/
  4. alluxio/
  5. angular/
  6. bigquery/
  7. bin/
  8. build-tools/
  9. cassandra/
  10. conf/
  11. dev/
  12. docs/
  13. elasticsearch/
  14. examples/
  15. file/
  16. flink/
  17. flink-cmd/
  18. groovy/
  19. hbase/
  20. helium-dev/
  21. influxdb/
  22. java/
  23. jdbc/
  24. k8s/
  25. licenses/
  26. livy/
  27. markdown/
  28. mongodb/
  29. neo4j/
  30. notebook/
  31. python/
  32. rlang/
  33. scripts/
  34. shell/
  35. spark/
  36. spark-submit/
  37. sparql/
  38. testing/
  39. zeppelin-client/
  40. zeppelin-client-examples/
  41. zeppelin-common/
  42. zeppelin-distribution/
  43. zeppelin-examples/
  44. zeppelin-integration/
  45. zeppelin-interpreter/
  46. zeppelin-interpreter-integration/
  47. zeppelin-interpreter-parent/
  48. zeppelin-interpreter-shaded/
  49. zeppelin-jupyter/
  50. zeppelin-jupyter-interpreter/
  51. zeppelin-jupyter-interpreter-shaded/
  52. zeppelin-plugins/
  53. zeppelin-server/
  54. zeppelin-test/
  55. zeppelin-web/
  56. zeppelin-web-angular/
  57. zeppelin-zengine/
  58. .asf.yaml
  59. .gitattributes
  60. .gitignore
  61. Dockerfile
  62. LICENSE
  63. mvnw
  64. mvnw.cmd
  65. NOTICE
  66. pom.xml
  67. README.md
  68. Roadmap.md
  69. SECURITY-README.md
  70. STYLE.md
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: core frontend rat
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core features:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site https://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.