59 lines
1.4 KiB
Bash
Executable File
59 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
regen_env_version() {
|
|
echo "[fx-pipeline] regenerating .env.version defaults" >&2
|
|
|
|
if [ -n "${WOODPECKER_COMMIT:-}" ]; then
|
|
git_rev="$(printf '%s' "${WOODPECKER_COMMIT}" | cut -c1-7)"
|
|
elif command -v git >/dev/null 2>&1; then
|
|
git_rev="$(git rev-parse --short HEAD 2>/dev/null || echo dev)"
|
|
else
|
|
git_rev="dev"
|
|
fi
|
|
|
|
if [ -n "${WOODPECKER_BRANCH:-}" ]; then
|
|
branch="${WOODPECKER_BRANCH}"
|
|
elif command -v git >/dev/null 2>&1; then
|
|
branch="$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo local)"
|
|
else
|
|
branch="local"
|
|
fi
|
|
|
|
if [ -f version ]; then
|
|
app_v="$(cat version 2>/dev/null || echo dev)"
|
|
else
|
|
app_v="dev"
|
|
fi
|
|
|
|
build_date="$(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || echo unknown)"
|
|
build_user="${WOODPECKER_MACHINE:-woodpecker}"
|
|
|
|
printf "GIT_REV=%s\nBUILD_BRANCH=%s\nAPP_V=%s\nBUILD_DATE=%s\nBUILD_USER=%s\n" \
|
|
"$git_rev" "$branch" "$app_v" "$build_date" "$build_user" > .env.version
|
|
}
|
|
|
|
ensure_env_version() {
|
|
if [ ! -s ./.env.version ]; then
|
|
regen_env_version
|
|
return
|
|
fi
|
|
|
|
tmp="$(mktemp -t envversion.XXXXXX 2>/dev/null || mktemp 2>/dev/null || mktemp -t envversion)"
|
|
if ! grep -E '^[[:space:]]*[A-Za-z_][A-Za-z0-9_]*=' ./.env.version >"$tmp"; then
|
|
rm -f "$tmp"
|
|
regen_env_version
|
|
return
|
|
fi
|
|
|
|
if [ ! -s "$tmp" ]; then
|
|
rm -f "$tmp"
|
|
regen_env_version
|
|
return
|
|
fi
|
|
|
|
mv "$tmp" ./.env.version
|
|
}
|
|
|
|
ensure_env_version
|