From e89f3428816c069a3db346889a84daebcbaffc0c Mon Sep 17 00:00:00 2001 From: littlecodedragon <253116839+littlecodedragon@users.noreply.github.com> Date: Sat, 9 May 2026 21:09:30 +0200 Subject: [PATCH] =?UTF-8?q?CI:=20fix=20release=20step=20env=20=E2=80=94=20?= =?UTF-8?q?multiline=20COMMIT=5FLOGS=20broke=20act=5Frunner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass commit messages via tmp file + COMMIT_LOG_FILE in GITHUB_ENV instead of injecting COMMIT_LOGS into step env (Forgejo runner could fail before bash ran, producing no logs). Co-authored-by: Cursor --- .forgejo/workflows/build_release.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml index 061238bf1..bcdf1398d 100755 --- a/.forgejo/workflows/build_release.yml +++ b/.forgejo/workflows/build_release.yml @@ -120,11 +120,11 @@ jobs: commit_logs='- Initial release' fi - { - echo 'COMMIT_LOGS<> "$GITHUB_OUTPUT" + # Do not pass multiline commit text via step outputs / env (breaks some Forgejo/act_runner + # runners before the shell starts — empty logs). Only pass a temp file path. + commit_log_file="$(mktemp /tmp/komikku-commit-logs.XXXXXX)" + printf '%s\n' "$commit_logs" > "${commit_log_file}" + echo "COMMIT_LOG_FILE=${commit_log_file}" >> "${GITHUB_ENV}" - name: Set up Gradle shell: bash @@ -304,12 +304,12 @@ jobs: UPSTREAM_REPO: ${{ steps.prepare.outputs.UPSTREAM_REPO }} UPSTREAM_REF: ${{ steps.prepare.outputs.UPSTREAM_REF }} UPSTREAM_BASE: ${{ steps.prepare.outputs.UPSTREAM_BASE }} - COMMIT_LOGS: ${{ steps.prepare.outputs.COMMIT_LOGS }} REPO_URL: ${{ github.server_url }}/${{ github.repository }} REPOSITORY_NAME: ${{ github.repository }} FORGEJO_CURL_INSECURE: "true" run: | set -euo pipefail + echo "Create or update release: shell running; COMMIT_LOG_FILE=${COMMIT_LOG_FILE:-}" export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PATH:-}" @@ -389,7 +389,10 @@ jobs: payload_file="$(mktemp)" response_file="$(mktemp)" - commit_logs="${COMMIT_LOGS:-}" + commit_logs="" + if [ -n "${COMMIT_LOG_FILE:-}" ] && [ -f "${COMMIT_LOG_FILE}" ]; then + commit_logs="$(cat "${COMMIT_LOG_FILE}")" + fi commit_logs="$(printf '%s' "$commit_logs" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')" if [ -z "$commit_logs" ]; then commit_logs="- Initial release"