#!/usr/bin/env bash set -euo pipefail regen_env_version() { echo "[fx-pipeline] regenerating .env.version defaults" >&2 local git_rev branch app_v build_date build_user 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 local tmp tmp="$(mktemp)" 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