master-zapier-plan-draft/scripts/push-module-repos.sh
George Lambert 31fcd43dcc
Some checks are pending
offline / test (push) Waiting to run
Re-import module repos with --force for snapshot updates
2026-09-11 12:40:06 -04:00

56 lines
2.4 KiB
Bash
Executable file

#!/usr/bin/env bash
# Create Forgejo repos and push each module (no node_modules).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
TOKEN_FILE="${FORGEJO_TOKEN_FILE:-/tmp/forgejo-zapier.token}"
TOKEN="$(cat "$TOKEN_FILE")"
API="https://git.georgelambert.org/api/v1"
GITSSH="ssh://git@git.georgelambert.org:2223/marchon"
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new -p 2223"
create() {
local name="$1" desc="$2"
curl -sS -X POST "$API/user/repos" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$name\",\"description\":\"$desc\",\"private\":false,\"auto_init\":false}" \
>/tmp/forgejo-mod.json || true
echo "repo $name"
}
push_dir() {
local src="$1" name="$2"
local tmp
tmp="$(mktemp -d)"
rsync -a --exclude node_modules --exclude dist --exclude data --exclude '*.db' --exclude .git \
"$src/" "$tmp/"
git -C "$tmp" init -q -b main
git -C "$tmp" add -A
git -C "$tmp" -c user.email=marchon@gmail.com -c user.name="George Lambert" \
commit -q -m "Initial import of $name from zapier monorepo"
git -C "$tmp" remote add origin "$GITSSH/${name}.git"
git -C "$tmp" push -u --force origin main
git -C "$tmp" push --force origin main:master || true
rm -rf "$tmp"
echo "pushed $name"
}
create zappier-edge "Metered commercial HTTPS edge (portal, admin, Stripe)"
create verae-middleware "Zapier-facing HTTP middleware + NATS workers"
create verae-zapier-app "Zapier Platform CLI app (timestamp/verify/hooks)"
create verae-activate "Activate-now Zapier app (Add Numbers, Echo, SHA256)"
create verae-request-splitter "Split hash vs attachments for chain vs WORM"
create verae-archive-worm "Bloom-filtered WORM archive node"
create verae-archive-aggregator "Aggregate archive replies into job JSON"
create zapier-docs-master "Master summaries, NATS contracts, message flows"
push_dir "$ROOT/packages/zappier" zappier-edge
push_dir "$ROOT/packages/verae-zapier-middleware" verae-middleware
push_dir "$ROOT/packages/verae-zapier" verae-zapier-app
push_dir "$ROOT/packages/verae-activate" verae-activate
push_dir "$ROOT/packages/verae-request-splitter" verae-request-splitter
push_dir "$ROOT/packages/verae-archive-worm" verae-archive-worm
push_dir "$ROOT/packages/verae-archive-aggregator" verae-archive-aggregator
push_dir "$ROOT/packages/docs-master" zapier-docs-master
echo ALL_MODULE_REPOS_PUSHED