Initial import from garrytan/gstack@026751e (main snapshot via local relay)
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Source: https://github.com/garrytan/gstack/commit/026751e
This commit is contained in:
56
gstack-upgrade/migrations/v1.17.0.0.sh
Executable file
56
gstack-upgrade/migrations/v1.17.0.0.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
# Migration: v1.17.0.0 — Wire existing brain-sync repos as gbrain federated sources
|
||||
#
|
||||
# Pre-1.17.0.0 /setup-gbrain wrote ~/.gstack/consumers.json with a placeholder
|
||||
# `status: "pending"` and an empty `ingest_url`, expecting a gbrain HTTP
|
||||
# /ingest-repo endpoint that never shipped. This migration runs the real
|
||||
# wireup (gbrain sources add + worktree + initial sync) for users who
|
||||
# already opted into brain-sync but never got the gbrain side connected.
|
||||
#
|
||||
# Idempotent: safe to re-run. Skips when:
|
||||
# - User never opted into brain-sync (gbrain_sync_mode = off or unset)
|
||||
# - No ~/.gstack/.git (brain-init never ran)
|
||||
# - The wireup helper is missing on disk (broken install — defensive)
|
||||
#
|
||||
# Failure mode: invokes the helper WITHOUT --strict, so a missing/old gbrain
|
||||
# CLI is a benign skip rather than blocking the rest of /gstack-upgrade.
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "${HOME:-}" ]; then
|
||||
echo " [v1.17.0.0] HOME is unset or empty — skipping migration." >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SKILLS_DIR="${HOME}/.claude/skills"
|
||||
BIN_DIR="${SKILLS_DIR}/gstack/bin"
|
||||
CONFIG_BIN="${BIN_DIR}/gstack-config"
|
||||
WIREUP_BIN="${BIN_DIR}/gstack-gbrain-source-wireup"
|
||||
|
||||
# Skip if user never opted into brain-sync.
|
||||
SYNC_MODE=""
|
||||
if [ -x "$CONFIG_BIN" ]; then
|
||||
# Trim whitespace defensively: gstack-config can emit trailing newlines,
|
||||
# which would mis-classify "off\n" as a non-empty non-off mode.
|
||||
SYNC_MODE=$("$CONFIG_BIN" get gbrain_sync_mode 2>/dev/null | tr -d '[:space:]' || echo "")
|
||||
fi
|
||||
if [ "$SYNC_MODE" = "off" ] || [ -z "$SYNC_MODE" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Skip if no brain-sync git repo exists.
|
||||
if [ ! -d "${HOME}/.gstack/.git" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Skip if helper missing (defensive — should always be present post-upgrade).
|
||||
if [ ! -x "$WIREUP_BIN" ]; then
|
||||
echo " [v1.17.0.0] $WIREUP_BIN missing or non-executable — skipping wireup." >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo " [v1.17.0.0] Wiring brain-sync repo into gbrain (federated source + initial sync)..."
|
||||
|
||||
# No --strict: missing/old gbrain is a benign skip during a batch upgrade.
|
||||
"$WIREUP_BIN" || {
|
||||
echo " [v1.17.0.0] Wireup exited non-zero — re-run manually with: $WIREUP_BIN" >&2
|
||||
}
|
||||
Reference in New Issue
Block a user