23 lines
706 B
Bash
Executable file
23 lines
706 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "${root}"
|
|
|
|
branch="${EVERY_CHANNEL_MIRROR_BRANCH:-$(git rev-parse --abbrev-ref HEAD)}"
|
|
push_tags="${EVERY_CHANNEL_MIRROR_PUSH_TAGS:-true}"
|
|
remotes="${EVERY_CHANNEL_MIRROR_REMOTES:-mirror-codeberg mirror-github}"
|
|
|
|
for remote in ${remotes}; do
|
|
if ! git remote get-url "${remote}" >/dev/null 2>&1; then
|
|
echo "warn: remote not configured, skipping: ${remote}" >&2
|
|
continue
|
|
fi
|
|
echo "sync: ${remote} (${branch})"
|
|
git push "${remote}" "${branch}:${branch}"
|
|
if [[ "${push_tags}" == "true" || "${push_tags}" == "1" ]]; then
|
|
git push "${remote}" --tags
|
|
fi
|
|
done
|
|
|
|
echo "ok: mirror push complete"
|