Skip to content

[ZEPPELIN-6358] Seperate environment config and shared utilities from #5101#5128

Merged
tbonelee merged 3 commits into
apache:masterfrom
voidmatcha:e2e/notebook-base
Dec 28, 2025
Merged

[ZEPPELIN-6358] Seperate environment config and shared utilities from #5101#5128
tbonelee merged 3 commits into
apache:masterfrom
voidmatcha:e2e/notebook-base

Conversation

@voidmatcha
Copy link
Copy Markdown
Contributor

@voidmatcha voidmatcha commented Dec 6, 2025

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?

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

Comment thread .github/workflows/frontend.yml Outdated
Comment thread zeppelin-web-angular/e2e/cleanup-util.ts Outdated
Comment thread zeppelin-web-angular/e2e/cleanup-util.ts Outdated
Comment thread zeppelin-web-angular/pom.xml
Comment thread .github/workflows/frontend.yml Outdated
Comment thread zeppelin-web-angular/e2e/cleanup-util.ts Outdated
tbonelee
tbonelee previously approved these changes Dec 12, 2025
@voidmatcha voidmatcha force-pushed the e2e/notebook-base branch 8 times, most recently from d163e5e to 68e804c Compare December 21, 2025 21:02
@voidmatcha
Copy link
Copy Markdown
Contributor Author

I did some additional refactoring based on the previous PR(#5101) and reflected those changes here.
Git got slightly tangled, so commits ended up being squashed together, but aside from that, everything remains the same as before. The only actual change to review is in base-page.
Once this PR is merged, I’ll proceed with opening the remaining split PRs.
#5101 (comment)

Comment thread .github/workflows/frontend.yml Outdated
@tbonelee tbonelee merged commit a041703 into apache:master Dec 28, 2025
21 of 32 checks passed
tbonelee pushed a commit that referenced this pull request Dec 28, 2025
…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>
(cherry picked from commit a041703)
Signed-off-by: ChanHo Lee <chanholee@apache.org>
@tbonelee
Copy link
Copy Markdown
Contributor

Thanks, merged into master and branch-0.12 .

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