You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@texera.apache.org by "mengw15 (via GitHub)" <gi...@apache.org> on 2026/07/10 19:52:50 UTC
[PR] ci: add a texera-web boot smoke test in amber-integration [texera]
mengw15 opened a new pull request, #6319:
URL: https://github.com/apache/texera/pull/6319
### What changes were proposed in this PR?
Add a boot smoke test for `texera-web` to the `amber-integration` job: build the amber dist in-job and launch the packaged `bin/texera-web-application` via `.github/scripts/smoke-boot.sh` (from #6220), asserting it reaches a listening state (port 8080) without a runtime classpath/linkage crash.
`texera-web` was left out of #6274's `platform-integration` checks because it's built in the `amber` job, not `platform`; its boot check belongs in the infra-provisioned `amber-integration` job (mirroring how `platform-integration` hosts the platform boot checks).
- **Self-contained**: the dist is built in-job (`sbt WorkflowExecutionService/dist`), not shipped as an artifact — so `amber-integration` stays independent of `amber` and runs in parallel (the `platform-integration` ∥ `platform` shape from #6274). The compile is already warm from the integration-test run.
- **postgres-only**: `texera-web` boots via `TexeraWebApplication.run` → `SqlServer.initConnection` (+ `createAdminUser`); no S3 / LakeFS at boot, so `amber-integration`'s postgres suffices. Config resolves through `Utils.amberHomePath` (a working-dir search for a dir named `amber`), finding `./amber` from the checkout root and reading `amber/src/main/resources/web-config.yml`.
- **ubuntu-only**: the boot is pure-JVM and OS-independent, so it doesn't also run on the macOS leg.
Concrete regression it catches: #6204 (Hadoop 3.4 → Jersey `NoClassDefFoundError`) — compiled and unit-tested clean but crashed `texera-web` on boot.
### Any related issues, documentation, discussions?
Closes #6276. Boot script from #6220; mirrors the `platform-integration` boot checks in #6274.
### How was this PR tested?
- Verified `texera-web`'s boot path touches postgres only (`SqlServer.initConnection` + `AuthResource.createAdminUser`; no S3 / LakeFS / MinIO anywhere in the class).
- Confirmed `FileAssetsBundle("../../frontend/dist", …)` registers lazily (its `run()` only constructs + registers the servlet; the filesystem check is request-time), so the absent frontend build in CI doesn't block boot.
- Confirmed the launcher name (`bin/texera-web-application`, per the prod image `CMD`) and port (8080, per `web-config.yml`).
- Exercised end-to-end by this workflow's own `amber-integration` CI run (ubuntu leg).
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (claude-opus-4-8)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #6319:
URL: https://github.com/apache/texera/pull/6319#issuecomment-4938981525
<!-- texera-reviewer-suggestion -->
### Automated Reviewer Suggestions
Based on the `git blame` history of the changed files, we recommend the following reviewers:
- No candidates found from `git blame` history.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "Yicong-Huang (via GitHub)" <gi...@apache.org>.
Yicong-Huang commented on code in PR #6319:
URL: https://github.com/apache/texera/pull/6319#discussion_r3564545939
##########
.github/workflows/build.yml:
##########
@@ -613,6 +613,32 @@ jobs:
sbt scalafmtCheckAll \
"scalafixAll --check" \
"WorkflowExecutionService/test"
+ - name: Build amber dist for the texera-web boot test
+ # Boot smoke test for texera-web (mirrors platform-integration for the
+ # platform services): launch the packaged app and assert it reaches a
+ # listening state without a runtime classpath/linkage crash — the check
+ # that would have caught #6204 (Hadoop 3.4 -> Jersey NoClassDefFoundError)
+ # before merge. Self-build the dist here rather than pulling it in from
+ # the `amber` job as an artifact, so this job stays independent of
+ # `amber` and runs in parallel (as platform-integration does vs
+ # platform); the sbt compile is already warm from the integration-test
+ # run above. ubuntu-only: the boot is pure-JVM and OS-independent.
+ if: matrix.os == 'ubuntu-latest'
+ run: sbt "WorkflowExecutionService/dist"
+ - name: Unzip amber dist
+ if: matrix.os == 'ubuntu-latest'
+ run: |
+ mkdir -p /tmp/dists
+ unzip -q amber/target/universal/amber-*.zip -d /tmp/dists/
+ - name: Smoke-test texera-web boots
Review Comment:
I wonder if we should also test CU master
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #6319:
URL: https://github.com/apache/texera/pull/6319#issuecomment-4939027499
<!-- texera-benchmarks-comment -->
## ⚠️ Benchmark changes need a look
🟢 0 better · 🔴 4 worse · ⚪ 11 noise (<±5%) · 0 without baseline
> Compared against main `0e92b16` benchmarked on **this same runner**, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.
[Dashboard](https://apache.github.io/texera/dev/bench/) · [Run](https://github.com/apache/texera/actions/runs/29119488442)
| | config | throughput | MB/s | latency | max Δ latest / 7d |
|---|---|---:|---:|---:|---:|
| 🔴 | bs=10 sw=10 sl=64 | 417 | 0.255 | 22,286/35,351/35,351 us | 🔴 +9.1% / 🔴 +139.0% |
| ⚪ | bs=100 sw=10 sl=64 | 951 | 0.581 | 101,571/147,034/147,034 us | ⚪ within ±5% / 🔴 +42.5% |
| ⚪ | bs=1000 sw=10 sl=64 | 1,105 | 0.674 | 912,099/941,542/941,542 us | ⚪ within ±5% / 🟢 -7.9% |
<details><summary>Baseline details</summary>
Latest main `0e92b16` from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---:|---:|---:|---:|---:|
| bs=10 sw=10 sl=64 | throughput | 417 tuples/sec | 442 tuples/sec | 814.14 tuples/sec | -5.7% | -48.8% |
| bs=10 sw=10 sl=64 | MB/s | 0.255 MB/s | 0.27 MB/s | 0.497 MB/s | -5.6% | -48.7% |
| bs=10 sw=10 sl=64 | p50 | 22,286 us | 21,310 us | 12,120 us | +4.6% | +83.9% |
| bs=10 sw=10 sl=64 | p95 | 35,351 us | 32,413 us | 14,792 us | +9.1% | +139.0% |
| bs=10 sw=10 sl=64 | p99 | 35,351 us | 32,413 us | 18,232 us | +9.1% | +93.9% |
| bs=100 sw=10 sl=64 | throughput | 951 tuples/sec | 941 tuples/sec | 1,050 tuples/sec | +1.1% | -9.4% |
| bs=100 sw=10 sl=64 | MB/s | 0.581 MB/s | 0.574 MB/s | 0.641 MB/s | +1.2% | -9.3% |
| bs=100 sw=10 sl=64 | p50 | 101,571 us | 102,867 us | 96,227 us | -1.3% | +5.6% |
| bs=100 sw=10 sl=64 | p95 | 147,034 us | 151,526 us | 103,174 us | -3.0% | +42.5% |
| bs=100 sw=10 sl=64 | p99 | 147,034 us | 151,526 us | 111,033 us | -3.0% | +32.4% |
| bs=1000 sw=10 sl=64 | throughput | 1,105 tuples/sec | 1,115 tuples/sec | 1,072 tuples/sec | -0.9% | +3.0% |
| bs=1000 sw=10 sl=64 | MB/s | 0.674 MB/s | 0.681 MB/s | 0.655 MB/s | -1.0% | +3.0% |
| bs=1000 sw=10 sl=64 | p50 | 912,099 us | 900,234 us | 950,645 us | +1.3% | -4.1% |
| bs=1000 sw=10 sl=64 | p95 | 941,542 us | 926,958 us | 991,936 us | +1.6% | -5.1% |
| bs=1000 sw=10 sl=64 | p99 | 941,542 us | 926,958 us | 1,022,498 us | +1.6% | -7.9% |
</details>
<details><summary>Raw CSV</summary>
```csv
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,479.58,200,128000,417,0.255,22286.15,35351.13,35351.13
1,100,10,64,20,2102.04,2000,1280000,951,0.581,101570.92,147033.97,147033.97
2,1000,10,64,20,18104.50,20000,12800000,1105,0.674,912098.55,941542.31,941542.31
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #6319:
URL: https://github.com/apache/texera/pull/6319#discussion_r3561626193
##########
.github/workflows/build.yml:
##########
@@ -613,6 +613,32 @@ jobs:
sbt scalafmtCheckAll \
"scalafixAll --check" \
"WorkflowExecutionService/test"
+ - name: Build amber dist for the texera-web boot test
+ # Boot smoke test for texera-web (mirrors platform-integration for the
+ # platform services): launch the packaged app and assert it reaches a
+ # listening state without a runtime classpath/linkage crash — the check
+ # that would have caught #6204 (Hadoop 3.4 -> Jersey NoClassDefFoundError)
+ # before merge. Self-build the dist here rather than pulling it in from
+ # the `amber` job as an artifact, so this job stays independent of
+ # `amber` and runs in parallel (as platform-integration does vs
+ # platform); the sbt compile is already warm from the integration-test
+ # run above. ubuntu-only: the boot is pure-JVM and OS-independent.
+ if: matrix.os == 'ubuntu-latest'
+ run: sbt "WorkflowExecutionService/dist"
+ - name: Unzip amber dist
+ if: matrix.os == 'ubuntu-latest'
+ run: |
+ mkdir -p /tmp/dists
+ unzip -q amber/target/universal/amber-*.zip -d /tmp/dists/
+ - name: Smoke-test texera-web boots
+ # texera-web boots on postgres only (TexeraWebApplication.run ->
+ # SqlServer.initConnection; no S3 / LakeFS), already provisioned above.
+ # It resolves its config via Utils.amberHomePath, which searches the
+ # working directory for a directory named `amber`; run from the checkout
+ # root (the default) that resolves to ./amber and reads
+ # amber/src/main/resources/web-config.yml (port 8080).
+ if: matrix.os == 'ubuntu-latest'
+ run: .github/scripts/smoke-boot.sh "/tmp/dists/amber-*/bin/texera-web-application" 8080
Review Comment:
The smoke-boot helper script documents that TEXERA_HOME should point at the checkout root for services to reliably resolve config/resources. The platform-integration boot steps already set this env var, but this new texera-web boot step doesn’t, which makes the check more fragile if the job’s working directory changes later (or if texera-web starts using TEXERA_HOME more directly).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #6319:
URL: https://github.com/apache/texera/pull/6319#issuecomment-4938986989
## [Codecov](https://app.codecov.io/gh/apache/texera/pull/6319?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 61.02%. Comparing base ([`0e92b16`](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`a3b139c`](https://app.codecov.io/gh/apache/texera/commit/a3b139c9b1d281c55c140a1360b4b3c36c60a140?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## main #6319 +/- ##
=========================================
Coverage 61.02% 61.02%
Complexity 3374 3374
=========================================
Files 1140 1140
Lines 44923 44923
Branches 4942 4942
=========================================
Hits 27413 27413
Misses 16001 16001
Partials 1509 1509
```
| [Flag](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | | *Carryforward flag |
|---|---|---|---|
| [access-control-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `70.00% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [agent-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `44.59% <ø> (ø)` | | |
| [amber](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `66.39% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [computing-unit-managing-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `0.00% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [config-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `52.30% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [file-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.97% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [frontend](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `53.32% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [notebook-migration-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `78.94% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [pyamber](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `91.18% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [workflow-compiling-service](https://app.codecov.io/gh/apache/texera/pull/6319/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.14% <ø> (ø)` | | Carriedforward from [0e92b16](https://app.codecov.io/gh/apache/texera/commit/0e92b16063ecd294c61f319d029841963490f32b?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
*This pull request uses carry forward flags. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) to find out more.
</details>
[:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/texera/pull/6319?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary> :rocket: New features to boost your workflow: </summary>
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "mengw15 (via GitHub)" <gi...@apache.org>.
mengw15 merged PR #6319:
URL: https://github.com/apache/texera/pull/6319
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] ci: add a texera-web boot smoke test in amber-integration [texera]
Posted by "mengw15 (via GitHub)" <gi...@apache.org>.
mengw15 commented on code in PR #6319:
URL: https://github.com/apache/texera/pull/6319#discussion_r3564905777
##########
.github/workflows/build.yml:
##########
@@ -613,6 +613,32 @@ jobs:
sbt scalafmtCheckAll \
"scalafixAll --check" \
"WorkflowExecutionService/test"
+ - name: Build amber dist for the texera-web boot test
+ # Boot smoke test for texera-web (mirrors platform-integration for the
+ # platform services): launch the packaged app and assert it reaches a
+ # listening state without a runtime classpath/linkage crash — the check
+ # that would have caught #6204 (Hadoop 3.4 -> Jersey NoClassDefFoundError)
+ # before merge. Self-build the dist here rather than pulling it in from
+ # the `amber` job as an artifact, so this job stays independent of
+ # `amber` and runs in parallel (as platform-integration does vs
+ # platform); the sbt compile is already warm from the integration-test
+ # run above. ubuntu-only: the boot is pure-JVM and OS-independent.
+ if: matrix.os == 'ubuntu-latest'
+ run: sbt "WorkflowExecutionService/dist"
+ - name: Unzip amber dist
+ if: matrix.os == 'ubuntu-latest'
+ run: |
+ mkdir -p /tmp/dists
+ unzip -q amber/target/universal/amber-*.zip -d /tmp/dists/
+ - name: Smoke-test texera-web boots
Review Comment:
Good idea — `computing-unit-master` is the other launcher in the same amber dist, so it's a natural next boot check. It also boots on postgres only: its actor system runs local (non-cluster) by default and the result-storage cleanup defaults off, so no extra infra needed. To keep this PR focused I've filed #6344 to add it as a follow-up.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org