You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by li...@apache.org on 2026/07/27 23:03:00 UTC
(texera) 01/01: fix(ci): skip boot smoke steps on backport targets that predate smoke-boot.sh
This is an automated email from the ASF dual-hosted git repository.
aglinxinyuan pushed a commit to branch ci/skip-boot-smoke-on-old-backport-targets
in repository https://gitbox.apache.org/repos/asf/texera.git
commit 67f1b66aad4da6435e7e9ab35b3d2b5b472c82f7
Author: Xinyuan Lin <xi...@uci.edu>
AuthorDate: Mon Jul 27 16:02:52 2026 -0700
fix(ci): skip boot smoke steps on backport targets that predate smoke-boot.sh
The backport CI legs rebuild the workspace as the release/* target tree
(prepare-backport-checkout.sh) while running main's build.yml, so steps
that invoke .github/scripts/smoke-boot.sh fail with exit 127 on targets
that predate the harness (#6319) — release/v1.2 today. First tripped by
the backport leg of #6910, the first release-labeled PR to fire
amber-integration since the harness landed.
Key every boot-smoke step (amber-integration's dist/unzip/smoke unit and
the whole platform-integration boot sequence) on the script's presence in
the checked-out tree via hashFiles, so those legs skip cleanly instead of
failing. The guard self-retires once smoke-boot.sh is backported to the
target branch.
Co-Authored-By: Claude Fable 5 <no...@anthropic.com>
---
.github/workflows/build.yml | 31 +++++++++++++++++++++++++------
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index becd8deb34..caf9eb36ff 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -656,10 +656,18 @@ jobs:
# `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'
+ #
+ # hashFiles keys this step (and the unzip + smoke steps below, which
+ # form one unit with it) on smoke-boot.sh being present in the
+ # checked-out tree: backport legs rebuild the workspace as the
+ # release/* target (Prepare backport workspace above), and targets
+ # that predate the harness (#6319) would otherwise fail the smoke
+ # steps with exit 127. The guard self-retires once the script is
+ # backported to the target branch.
+ if: matrix.os == 'ubuntu-latest' && hashFiles('.github/scripts/smoke-boot.sh') != ''
run: sbt "WorkflowExecutionService/dist"
- name: Unzip amber dist
- if: matrix.os == 'ubuntu-latest'
+ if: matrix.os == 'ubuntu-latest' && hashFiles('.github/scripts/smoke-boot.sh') != ''
run: |
mkdir -p /tmp/dists
unzip -q amber/target/universal/amber-*.zip -d /tmp/dists/
@@ -670,7 +678,7 @@ jobs:
# 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'
+ if: matrix.os == 'ubuntu-latest' && hashFiles('.github/scripts/smoke-boot.sh') != ''
env:
# Quiet boot logs, same wiring as the test steps above. Safe here:
# smoke-boot's verdict is LISTEN-based, never log-scraping (#6332).
@@ -687,7 +695,7 @@ jobs:
# 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'
+ if: matrix.os == 'ubuntu-latest' && hashFiles('.github/scripts/smoke-boot.sh') != ''
env:
# Quiet boot logs, same wiring as the test steps above. Safe here:
# smoke-boot's verdict is LISTEN-based, never log-scraping (#6332).
@@ -929,15 +937,25 @@ jobs:
# compiling its own tests) rather than downloading an artifact from the
# `platform` job, so the two stay independent and run in parallel. No
# jacoco here — unit tests + coverage live in `platform`.
+ #
+ # hashFiles keys this step (and every step below — the whole job is
+ # the boot smoke test) on smoke-boot.sh being present in the
+ # checked-out tree: backport legs rebuild the workspace as the
+ # release/* target (Prepare backport workspace above), and targets
+ # that predate the harness (#6319) would otherwise fail the smoke
+ # step with exit 127. The guard self-retires once the script is
+ # backported to the target branch.
+ if: hashFiles('.github/scripts/smoke-boot.sh') != ''
run: sbt "${{ matrix.sbt_project }}/dist"
- name: Unzip ${{ matrix.service }} dist
+ if: hashFiles('.github/scripts/smoke-boot.sh') != ''
run: |
mkdir -p /tmp/dists
unzip -q ${{ matrix.service }}/target/universal/${{ matrix.service }}-*.zip -d /tmp/dists/
- name: Start MinIO
# file-service's boot creates its S3 bucket via S3StorageClient; only
# that service needs an object store, so the rest of the matrix skips this.
- if: ${{ matrix.object_store }}
+ if: ${{ matrix.object_store && hashFiles('.github/scripts/smoke-boot.sh') != '' }}
run: |
docker run -d --name minio --network host \
-e MINIO_ROOT_USER=texera_minio \
@@ -954,7 +972,7 @@ jobs:
# LakeFSStorageClient.healthCheck(), so this must be up for it to reach a
# listening state. Config mirrors bin/single-node (compose + .env),
# adapted to CI creds (postgres/postgres @ localhost).
- if: ${{ matrix.object_store }}
+ if: ${{ matrix.object_store && hashFiles('.github/scripts/smoke-boot.sh') != '' }}
run: |
docker run -d --name lakefs --network host \
-e LAKEFS_DATABASE_TYPE=postgres \
@@ -976,6 +994,7 @@ jobs:
- name: Smoke-test ${{ matrix.service }} boots
# Launch the packaged service and assert it reaches LISTEN on its port
# without a runtime classpath/linkage crash (#6220).
+ if: hashFiles('.github/scripts/smoke-boot.sh') != ''
env:
TEXERA_HOME: ${{ github.workspace }}
# Quiet boot logs, same wiring as the amber jobs. Safe here: