36 lines
915 B
Bash
Executable File
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}"
|