Files
pre-commit-hooks/scripts/write-argocd-repo/run.sh
T

36 lines
915 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(git rev-parse --show-toplevel)"
cd "${repo_root}"
output_dir="${repo_root}/bootstrap"
output_file="${output_dir}/repo.yaml"
workflow_dir="${repo_root}/.gitea/workflows"
mkdir -p "${output_dir}"
origin_url="$(git remote get-url origin 2>/dev/null || true)"
branch="$(git symbolic-ref --quiet --short HEAD 2>/dev/null || git rev-parse --short HEAD)"
workflow_files=()
if [[ -d "${workflow_dir}" ]]; then
while IFS= read -r -d '' file; do
workflow_files+=("${file#${workflow_dir}/}")
done < <(find "${workflow_dir}" -maxdepth 1 -type f -print0 | sort -z)
fi
{
printf 'remote_origin_url=%s\n' "${origin_url}"
printf 'branch=%s\n' "${branch}"
if (( ${#workflow_files[@]} > 0 )); then
printf 'workflow_files=%s\n' "$(IFS=,; echo "${workflow_files[*]}")"
else
printf 'workflow_files=\n'
fi
} > "${output_file}"
git add "${output_file}"