Files
vendoo/scripts/github-deploy.sh
T
Masterluke77andGitHub 6f48827f4d Vendoo 1.41.2 – Git Ignore Boundary & Module Tracking Hotfix (#18)
* docs: prepare Vendoo 1.41.2 git-ignore boundary hotfix

* fix: track native source modules with root-anchored runtime ignores
2026-07-09 17:09:00 +02:00

59 lines
2.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env sh
set -eu
ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
REPO_URL="https://github.com/Masterluke77/vendoo.git"
BRANCH="release/1.41.2-git-ignore-boundary-hotfix"
PR_URL="https://github.com/Masterluke77/vendoo/pull/18"
WORK_DIR=$(mktemp -d)
cleanup() { rm -rf "$WORK_DIR"; }
trap cleanup EXIT INT TERM
command -v git >/dev/null 2>&1 || { echo "Git fehlt." >&2; exit 2; }
command -v node >/dev/null 2>&1 || { echo "Node.js wird für den sicheren GitHub-Import benötigt." >&2; exit 2; }
git clone "$REPO_URL" "$WORK_DIR/repo"
cd "$WORK_DIR/repo"
if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
git fetch origin "$BRANCH"
git switch --track -c "$BRANCH" "origin/$BRANCH"
else
git switch -c "$BRANCH"
fi
node "$ROOT_DIR/tools/prepare-git-staging.mjs" "$ROOT_DIR" "$WORK_DIR/repo"
GATE_OUTPUT="$WORK_DIR/git-safety-output.txt"
if ! node tools/verify-git-safety.mjs >"$GATE_OUTPUT" 2>&1; then
cat "$GATE_OUTPUT" >&2
mkdir -p "$ROOT_DIR/logs"
{
echo "Vendoo Git-Sicherheitsgate vollständiger Fehlerbericht"
echo "Projekt: $ROOT_DIR"
echo
cat "$GATE_OUTPUT"
} > "$ROOT_DIR/logs/github-deploy-safety-report.txt"
echo "Git-Sicherheitsgate fehlgeschlagen. Details: $ROOT_DIR/logs/github-deploy-safety-report.txt" >&2
exit 1
fi
cat "$GATE_OUTPUT"
rm -f "$ROOT_DIR/logs/github-deploy-safety-report.txt"
git config user.name "Markus Müller"
git config user.email "163446896+Masterluke77@users.noreply.github.com"
git add --all
node tools/verify-source-boundaries-1.41.2.mjs
node tools/verify-git-ignore-boundaries-1.41.2.mjs
ignored_modules="$(git ls-files --others --ignored --exclude-standard -- app/modules || true)"
[ -z "$ignored_modules" ] || { echo "Produktive Moduldateien werden ignoriert: $ignored_modules" >&2; exit 1; }
for required in app/modules/listings/routes.mjs app/modules/inventory/index.mjs app/modules/inventory/repository.mjs app/modules/inventory/routes.mjs app/modules/sessions/index.mjs; do
test -f "$required" || { echo "Pflichtdatei fehlt im Git-Staging: $required" >&2; exit 1; }
git ls-files --error-unmatch -- "$required" >/dev/null || { echo "Pflichtdatei wird nicht getrackt: $required" >&2; exit 1; }
done
git status --short
printf 'Zum Pushen exakt PUSH eingeben: '
read -r answer
[ "$answer" = "PUSH" ] || { echo "Abgebrochen."; exit 0; }
git commit -m "fix: track native source modules with root-anchored runtime ignores"
git push --set-upstream origin "$BRANCH"
echo "Branch übertragen. Draft Pull Request #15 öffnen: $PR_URL"