From 955c08a387f71f633b2f29ae9a23fc312a60c3bc Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sat, 23 May 2026 23:16:22 -0500 Subject: [PATCH] fix(ci): disable pipefail during element detection to prevent SIGPIPE exit The find|grep|head pipe under bash pipefail causes SIGPIPE when head closes the pipe after reading one line, making the step exit with code 1 even though the version bump and push succeeded. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .mokogitea/workflows/pre-release.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.mokogitea/workflows/pre-release.yml b/.mokogitea/workflows/pre-release.yml index 0c24e75b..903f1b92 100644 --- a/.mokogitea/workflows/pre-release.yml +++ b/.mokogitea/workflows/pre-release.yml @@ -90,17 +90,19 @@ jobs: git remote set-url origin "https://jmiller:${{ secrets.GA_TOKEN }}@git.mokoconsulting.tech/${{ github.repository }}.git" # Detect element from Joomla/Dolibarr manifest + set +o pipefail PLATFORM="${{ steps.platform.outputs.platform }}" EXT_ELEMENT=$(php ${MOKO_API}/manifest_read.php --path . --field name 2>/dev/null | tr -d ' ' | tr '[:upper:]' '[:lower:]' || true) # For Joomla, prefer tag if [ "$PLATFORM" = "joomla" ]; then - MANIFEST=$(find . -maxdepth 3 -name "*.xml" ! -path "./.git/*" -exec grep -l '/dev/null | head -1 || true) + MANIFEST=$(find . -maxdepth 4 -name "*.xml" ! -path "./.git/*" -print0 2>/dev/null | xargs -0 grep -l '/dev/null | head -1 || true) if [ -n "$MANIFEST" ]; then - ELEM=$(grep -oP "\K[^<]+" "$MANIFEST" 2>/dev/null | head -1) + ELEM=$(grep -oP "\K[^<]+" "$MANIFEST" 2>/dev/null | head -1 || true) [ -n "$ELEM" ] && EXT_ELEMENT="$ELEM" fi fi [ -z "$EXT_ELEMENT" ] && EXT_ELEMENT=$(echo "${GITEA_REPO}" | tr '[:upper:]' '[:lower:]' | tr -d ' -') + set -o pipefail ZIP_NAME="${EXT_ELEMENT}-${VERSION}${SUFFIX}.zip"