You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/06/28 08:03:35 UTC

[GH] (texera/feat/local-dev-stack-manager): Workflow run "Required Checks" is working again!

The GitHub Actions job "Required Checks" on texera.git/feat/local-dev-stack-manager has succeeded.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
9dc3d83224ca73b6dcd784c8e014213c61a28cc3 / Yicong Huang <17...@users.noreply.github.com>
fix(bin/local-dev): port to bash 3.2 — drop associative arrays, drop re-exec

Apple still ships /bin/bash at 3.2, so the previous design that required
bash 4+ via a re-exec block was fragile: any caller that didn't pick up a
brew-installed bash would either fail outright or bypass our intended
shell. This rewrites every associative-array touch (`declare -A`,
`typeset -A`, `MAP[$k]=val`, `${MAP[$k]}`, `${!MAP[@]}`) onto a flat-var
shim (`amap_set` / `amap_get` / `amap_has` / `amap_append`) that works
under bash 3.2 and bash 5.x identically. `SBT_DEPS_KEYS` is added as a
parallel indexed array so the one iteration site over the SBT_DEPS keys
keeps working without `${!MAP[@]}`.

Also fixes the regression test in test_local_dev_sh.sh #9 to detect
util-linux's `script -qc CMD OUTFILE` invocation style in addition to
macOS BSD's `script -q OUTFILE CMD`, by probing `script --version`.

Verified:
- bash -n bin/local-dev.sh                       (bash 5.x: OK)
- /bin/bash -n bin/local-dev.sh                  (bash 3.2: OK)
- bash bin/local-dev/tests/test_local_dev_sh.sh  (10/10 PASS)
- /bin/bash bin/local-dev/tests/...              (10/10 PASS)
- ./bin/local-dev.sh version / status / --help / auto: end-to-end OK

Co-Authored-By: Claude Opus 4.7 (1M context) <no...@anthropic.com>

Report URL: https://github.com/apache/texera/actions/runs/28315651508

With regards,
GitHub Actions via GitBox