1
0
Fork 0
mirror of https://github.com/imjasonh/esp32 synced 2026-07-06 23:52:24 +00:00

publish: use bash for the recipe so set -eo pipefail works

The `set -eo pipefail` I added in PR #15 broke `make publish` on CI:
Make uses /bin/sh (dash on Ubuntu), and dash rejects `pipefail` with
"Illegal option -o pipefail" before any other command runs. Step 11
(Build, push, sign) failed at line 1 of the recipe.

Fix with a target-specific `SHELL := /bin/bash` so only this recipe
runs under bash; the rest of the Makefile stays on /bin/sh.

https://claude.ai/code/session_01XkNKhsMjCMg4HMTzf3ZZYC
This commit is contained in:
Claude 2026-05-04 10:25:46 +00:00
parent ee27ceed21
commit 187f4ec588
No known key found for this signature in database

View file

@ -189,6 +189,12 @@ $(FW_BIN): build
# `| grep | head | cut` pipeline and silently produce an empty DIGEST
# (we'd catch it with the test below, but pipefail makes the original
# error message visible).
#
# Target-specific SHELL := bash because `pipefail` isn't a POSIX
# `set -o` option — the default `/bin/sh` on Ubuntu (dash) rejects it
# with "Illegal option -o pipefail" before any other command runs. We
# only need bash for this one recipe; everything else stays on /bin/sh.
publish: SHELL := /bin/bash
publish: $(FW_BIN) check-gh-env
@set -eo pipefail; \
. ./gh.env; \