834595df6b
Единый workspace.local.env для адресов и паролей, init-machine, Set-GitRemotes, push-safe и check-no-secrets для политики kalinamall/github.
33 lines
889 B
Bash
Executable File
33 lines
889 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
# shellcheck source=lib/common.sh
|
|
source "$ROOT/lib/common.sh"
|
|
|
|
REPO_DIR="${1:-.}"
|
|
[[ -d $REPO_DIR ]] || die "каталог не найден: $REPO_DIR"
|
|
cd "$REPO_DIR"
|
|
[[ -d .git ]] || die "не git: $REPO_DIR"
|
|
|
|
load_workspace_env
|
|
|
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
log "push-safe в $(pwd) ветка $BRANCH"
|
|
|
|
git push kalinamall "$BRANCH" || die "push kalinamall failed"
|
|
|
|
if [[ ${PUSH_HOME:-yes} == yes ]]; then
|
|
git push home "$BRANCH" || log "push home пропущен (сеть?)"
|
|
fi
|
|
|
|
if [[ ${PUSH_GITHUB:-yes} == yes ]] && git remote | grep -qx github; then
|
|
bash "$ROOT/scripts/check-no-secrets.sh" || exit 1
|
|
git push github "$BRANCH" || die "push github failed"
|
|
log "github OK"
|
|
else
|
|
log "github remote нет или PUSH_GITHUB=no"
|
|
fi
|
|
|
|
log "готово"
|