This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-6377-c543d7796a027382828648826266a0e45232934c in repository https://gitbox.apache.org/repos/asf/texera.git
commit 000f62b58570e4220b5a9c7a35e768ac1861e50e Author: Meng Wang <[email protected]> AuthorDate: Mon Jul 20 12:03:33 2026 -0700 ci: add a computing-unit-master boot smoke test in amber-integration (#6377) ### What changes were proposed in this PR? `amber-integration` already builds and unzips the amber dist to boot-smoke-test `texera-web` (#6319), but `computing-unit-master` — the other server produced by the same `WorkflowExecutionService/dist` (`bin/computing-unit-master`, port 8085) — is not started anywhere in CI. It compiles and unit-tests clean, so a runtime classpath/linkage regression (the #6204 class of bug: `NoClassDefFoundError` from a dependency conflict that only manifests when the packaged launcher actually runs) would pass build and merge, surfacing only at deploy. - Add one boot step to `amber-integration`, right after the `texera-web` boot, reusing the amber dist already built and unzipped there — no extra build. It launches `bin/computing-unit-master` via `.github/scripts/smoke-boot.sh` and asserts the process reaches a listening state on :8085 without crashing. It boots on **postgres only**, which `amber-integration` already provisions: - `main` starts a **local** Pekko actor master — `clusterMode` defaults to `false` (no `--cluster` arg), so `AmberRuntime.startActorMaster(false)` self-seeds a single node with no external discovery, and the cluster-only `getNodeIpAddress` (`checkip.amazonaws.com`) call is never reached — then `run()` calls `SqlServer.initConnection`. - The boot-time result-store cleanup is gated on `ApplicationConfig.cleanupAllExecutionResults`, which defaults to `false` (asserted in `ApplicationConfigSpec`), so no iceberg/S3 access on boot. - Config resolves via `Utils.amberHomePath` to `amber/src/main/resources/computing-unit-master-config.yml` (port 8085). `ubuntu-latest` only, mirroring the `texera-web` step (the boot is pure-JVM and OS-independent). ### Any related issues, documentation, discussions? Closes #6344. Mirrors the `texera-web` boot test from #6319 and the platform-service boot tests from #6274; smoke script from #6220. Suggested by @Yicong-Huang in the #6319 review. ### How was this PR tested? - `amber-integration` (ubuntu-latest) runs the new step in this PR; `bin/computing-unit-master` boots and reaches LISTEN on :8085. - Verified the boot needs no infra beyond the postgres the job already provisions, by reading `ComputingUnitMaster.main`/`run`: `clusterMode` default `false` → local actor master, `cleanupAllExecutionResults` default `false` → no result-store cleanup, `SqlServer.initConnection` → postgres only. - The step is a faithful mirror of the existing `texera-web` boot (same dist, same `smoke-boot.sh`, same `ubuntu-only` guard). ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (claude-opus-4-8) --- .github/workflows/build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd7c3aea87..1e0092fa4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -639,6 +639,19 @@ jobs: # 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 + - name: Smoke-test computing-unit-master boots + # computing-unit-master boots on postgres only, like texera-web: main + # starts a LOCAL Pekko actor master (clusterMode defaults to false with + # no --cluster arg, so no external seed/discovery and the cluster-only + # checkip.amazonaws.com lookup is never reached), then run() calls + # SqlServer.initConnection against the postgres provisioned above. The + # boot-time result-store cleanup is gated on + # ApplicationConfig.cleanupAllExecutionResults, which defaults to false, + # so no iceberg / S3 access. Config resolves via Utils.amberHomePath to + # amber/src/main/resources/computing-unit-master-config.yml (port 8085). + # Reuses the amber dist built + unzipped above for the texera-web boot. + if: matrix.os == 'ubuntu-latest' + run: .github/scripts/smoke-boot.sh "/tmp/dists/amber-*/bin/computing-unit-master" 8085 - name: Run Python integration tests # --junit-xml feeds the Test Analytics upload below. run: |
