Files
replace-build-vars/action.yml
T
UltimateCoderandClaude Opus 5.5 8576b6a01b feat: add BUILD_VAR_REF_LABEL placeholder
pr-<n> for pull requests, otherwise GITHUB_REF_NAME with / -> -.
Matches the docker-build image tag; existing placeholders unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 21:46:11 +02:00

54 lines
2.2 KiB
YAML

name: Replace Build Placeholders
description: >
Ersetzt {{BUILD_VAR_*}}-Platzhalter in allen Textdateien durch Gitea-Actions-Build-Infos
(Commit, Branch, Run-Metadaten, …). Sprachunabhängig (reiner Text-Replace,
kein Build-Tool-Bezug), kein Input nötig.
runs:
using: composite
steps:
- shell: bash
run: |
set -euo pipefail
SHA_SHORT="${GITHUB_SHA:0:7}"
BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
# Same label as the docker-build image tag: pr-<n> for PRs, else ref name with / -> -
REF="${GITHUB_REF:-}"
if [[ "$REF" == refs/pull/* ]]; then
PR_NUM="${REF#refs/pull/}"
REF_LABEL="pr-${PR_NUM%%/*}"
else
REF_NAME="${GITHUB_REF_NAME:-}"
REF_LABEL="${REF_NAME//\//-}"
fi
declare -A VARS=(
[BUILD_VAR_GITHUB_SHA]="${GITHUB_SHA:-}"
[BUILD_VAR_GITHUB_REF_NAME]="${GITHUB_REF_NAME:-}"
[BUILD_VAR_GITHUB_REF_TYPE]="${GITHUB_REF_TYPE:-}"
[BUILD_VAR_GITHUB_REPOSITORY]="${GITHUB_REPOSITORY:-}"
[BUILD_VAR_GITHUB_REPOSITORY_OWNER]="${GITHUB_REPOSITORY_OWNER:-}"
[BUILD_VAR_GITHUB_RUN_ID]="${GITHUB_RUN_ID:-}"
[BUILD_VAR_GITHUB_RUN_NUMBER]="${GITHUB_RUN_NUMBER:-}"
[BUILD_VAR_GITHUB_RUN_ATTEMPT]="${GITHUB_RUN_ATTEMPT:-}"
[BUILD_VAR_GITHUB_RETENTION_DAYS]="${GITHUB_RETENTION_DAYS:-}"
[BUILD_VAR_GITHUB_SERVER_URL]="${GITHUB_SERVER_URL:-}"
[BUILD_VAR_GITHUB_EVENT_NAME]="${GITHUB_EVENT_NAME:-}"
[BUILD_VAR_GITHUB_BASE_REF]="${GITHUB_BASE_REF:-}"
[BUILD_VAR_GITHUB_HEAD_REF]="${GITHUB_HEAD_REF:-}"
[BUILD_VAR_GITHUB_ACTION_REF]="${GITHUB_ACTION_REF:-}"
[BUILD_VAR_GITHUB_ACTION_REPOSITORY]="${GITHUB_ACTION_REPOSITORY:-}"
[BUILD_VAR_GITEA_ACTIONS_RUNNER_VERSION]="${GITEA_ACTIONS_RUNNER_VERSION:-}"
[BUILD_VAR_COMMIT_SHA_SHORT]="$SHA_SHORT"
[BUILD_VAR_BUILD_DATE]="$BUILD_DATE"
[BUILD_VAR_REF_LABEL]="$REF_LABEL"
)
SED_ARGS=()
for key in "${!VARS[@]}"; do
SED_ARGS+=(-e "s|{{${key}}}|${VARS[$key]}|g")
done
grep -rIl --exclude-dir=.git '' . | xargs -r sed -i "${SED_ARGS[@]}"