You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by gi...@apache.org on 2026/06/28 18:08:49 UTC
(texera) branch gh-readonly-queue/main/pr-5965-a24d1d1701dfffc46279ecda1db34268e2dca44c created (now 7610cb6c81)
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a change to branch gh-readonly-queue/main/pr-5965-a24d1d1701dfffc46279ecda1db34268e2dca44c
in repository https://gitbox.apache.org/repos/asf/texera.git
at 7610cb6c81 chore(ci): move LICENSE-binary version-drift tests into the infra job (#5965)
This branch includes the following new commits:
new 7610cb6c81 chore(ci): move LICENSE-binary version-drift tests into the infra job (#5965)
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(texera) 01/01: chore(ci): move LICENSE-binary version-drift tests into the infra job (#5965)
Posted by gi...@apache.org.
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-5965-a24d1d1701dfffc46279ecda1db34268e2dca44c
in repository https://gitbox.apache.org/repos/asf/texera.git
commit 7610cb6c814b8a1186d360b52943189741f2a9e1
Author: Yicong Huang <17...@users.noreply.github.com>
AuthorDate: Sun Jun 28 11:08:28 2026 -0700
chore(ci): move LICENSE-binary version-drift tests into the infra job (#5965)
### What changes were proposed in this PR?
Move `bin/licensing/test_*.py` — the unit tests for the per-module
`LICENSE-binary` version-drift checker — from `pyamber` into `infra`
(the project-tooling CI lane added in #5961).
```
Before: After:
───────────────────────────────────── ─────────────────────────────────────
pyamber (ubuntu × 3.10/3.11/3.12/3.13) infra (ubuntu, macos)
├─ Unit-test licensing scripts × 4 ├─ Unit-test licensing scripts × 1
└─ pip-licenses / amber tests ├─ Run shell smoke tests
└─ Run Python unit tests (pytest
infra (ubuntu, macos) covers bin/licensing/ +
├─ Run shell smoke tests bin/local-dev/tests/)
└─ Run Python unit tests
```
Same stdlib `unittest.TestCase` tests — `pytest` discovers them without
rewriting. Single combined `pytest bin/local-dev/tests/ bin/licensing/`
invocation so test failures are easy to attribute.
The `infra` job grows from "dev-loop tooling only" to "any
project-tooling under `bin/*` that isn't tied to a specific service".
Comment + labeler glob updated to match; `bin/licensing/**` now picks up
the job automatically.
### Any related issues, documentation, discussions?
Closes #5964.
### How was this PR tested?
Locally on this checkout:
```
$ python -m pytest bin/local-dev/tests/ bin/licensing/ -v --tb=short
============================== 91 passed in 0.27s ==============================
$ bash bin/local-dev/tests/test_local_dev_sh.sh
9 passed, 0 failed
```
53 licensing tests (`test_check_binary_deps.py` +
`test_generate_notice_binary.py`) + 38 local-dev TUI / dirty-detection
tests, all on Python 3.12.
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Anthropic, Claude Opus 4.7).
---------
Co-authored-by: Claude Opus 4.7 (1M context) <no...@anthropic.com>
---
.github/labeler.yml | 8 ++++----
.github/workflows/build.yml | 43 +++++++++++++++++++++++++++++++------------
2 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/.github/labeler.yml b/.github/labeler.yml
index e520c6a6df..416e15e342 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -114,15 +114,15 @@ dev:
- 'bin/**'
infra:
- # Dev-loop tooling for bringing up / tailing the local stack lives under
- # bin/local-dev*. Tracked on its own label so the matching CI stack runs
- # on changes here without dragging the broader `dev` label (which is a
- # no-op stack-mapping-wise) into the equation.
+ # Project-tooling scripts under bin/* that aren't tied to a specific
+ # service. The CI's `infra` job picks up everything labelled here and
+ # runs each subdirectory's unit / smoke tests in one consolidated job.
- changed-files:
- any-glob-to-any-file:
- 'bin/local-dev.sh'
- 'bin/local-dev-tui.py'
- 'bin/local-dev/**'
+ - 'bin/licensing/**'
dependencies:
- changed-files:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b44f035552..e5014d39ad 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -772,11 +772,6 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- - name: Unit-test licensing scripts
- # Stdlib only, no install needed. Runs on every matrix row (3.10 →
- # 3.13) so the script's behavior is guarded across all supported
- # Python versions before the license check itself runs (3.12 only).
- run: python3 -m unittest discover -s bin/licensing -p "test_*.py" -v
- name: Install dependencies
# 3.12 is the only leg that drives the binary-license check via
# pip-licenses. Keep stock pip there so the resolved versions
@@ -923,10 +918,14 @@ jobs:
fail_ci_if_error: false
infra:
- # Tests for the dev-loop tooling under bin/local-dev*.
- # Light job: bash syntax + smoke tests, plus pytest unit tests for the
- # pure helpers in local-dev-tui.py. No docker / sbt / live stack — those
- # belong in an e2e job we'll add when the tool is exercised more widely.
+ # Generic project-tooling job — runs the lightweight (no docker, no
+ # sbt, no live stack) unit and smoke tests for anything under
+ # `bin/` that doesn't belong to a specific service. Today that's
+ # • bin/local-dev* dev-loop stack manager + TUI
+ # • bin/licensing/* LICENSE-binary version-drift checker
+ # New tooling test suites should land here too — bias against
+ # spinning up another CI job unless the suite needs docker / a
+ # heavy install / a different python matrix.
if: ${{ inputs.run_infra }}
name: ${{ format('infra{0} ({1})', inputs.job_name_suffix, matrix.os) }}
runs-on: ${{ matrix.os }}
@@ -955,7 +954,27 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install -r amber/dev-requirements.txt
- - name: Run shell smoke tests (bash)
- run: bash bin/local-dev/tests/test_local_dev_sh.sh
+ - name: Run shell smoke tests
+ # Discover + run every `test_*.sh` under bin/. New shell test
+ # suites picked up automatically — no edits to this workflow.
+ # `find -print0` instead of bash's `**` glob so this works on
+ # macOS's pinned /bin/bash 3.2 (no `shopt -s globstar`).
+ run: |
+ set -e
+ found=0
+ while IFS= read -r -d '' t; do
+ found=1
+ echo "==> $t"
+ bash "$t"
+ done < <(find bin -type f -name "test_*.sh" -print0)
+ if [ "$found" = 0 ]; then
+ echo "no shell tests found under bin/" >&2
+ exit 1
+ fi
- name: Run Python unit tests
- run: python -m pytest bin/local-dev/tests/ -v --tb=short
+ # `pytest bin/` discovers every `test_*.py` recursively — covers
+ # bin/local-dev/tests (TUI helpers, dirty detection) and
+ # bin/licensing (LICENSE-binary version-drift checker) in one
+ # pass, and any future tooling test suite under bin/ comes
+ # along without this workflow being edited.
+ run: python -m pytest bin/ -v --tb=short