Commit Graph

3 Commits

Author SHA1 Message Date
Jörg Lohrer 0075160370 ci: manueller build+deploy-workflow fuer SPA
Bewusst kein auto-trigger: kontrolle bleibt beim menschen, wer wann
auf welche subdomain deployt. Aufruf via "Actions" → "Build + Deploy
SPA" → "Run workflow", target ist 'svelte' (default), 'staging' oder
'prod'. 1:1 abbild der lokalen scripts/deploy-svelte.sh-logik:

1. snapshot ziehen (Deno)
2. SvelteKit bauen (Node)
3. __SITE_URL__-substitution
4. __HTML_LANG__-substitution pro detail-HTML aus snapshot/output
5. FTPS-upload pro datei via curl --tls-max 1.2 (All-Inkl-friendly)
6. live-check via curl

Voraussetzung: SVELTE_FTP_*, STAGING_FTP_* als github-secrets hinterlegen.
AUTHOR_PUBKEY_HEX + BOOTSTRAP_RELAY existieren bereits aus publish-pipeline.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 10:13:58 +02:00
Jörg Lohrer 3fa85fcb07 ci: snapshot-step nach publish + output als artifact
Etappe 3 des prerender-snapshot-plans (variante 1: minimal — kein
neuer workflow, deploy bleibt manuell via scripts/deploy-svelte.sh):

- 'Snapshot'-step laeuft nach publish, ruft deno-snapshot-cli auf
- output (index.json + posts/*.json + .last-snapshot.json) wird als
  github-actions-artifact fuer 30 tage aufgehoben — debug-pfad falls
  ein deploy-bug nachvollzogen werden muss
- AUTHOR_PUBKEY_HEX + BOOTSTRAP_RELAY werden aus existierenden secrets
  uebernommen, keine neuen secrets noetig

Reihenfolge "publish dann snapshot": neue events muessen erst auf den
relays sein, bevor sie gesnapshottet werden koennen. Bei publish-fail
laeuft snapshot nicht — gewollt, weil unklarer relay-stand zu
fehlerhaftem snapshot-output fuehren wuerde.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:37:59 +02:00
Jörg Lohrer 2f7f991bc6 publish(task 22): github-actions-workflow für auto-publish
.github/workflows/publish.yml triggert bei:
  - push auf main mit änderungen in content/posts/**
  - manuellem workflow_dispatch (optional mit force_all=true)

ablauf:
  1. deno 2.x setup
  2. pre-flight check (bunker, kind:10002, kind:10063)
  3. publish (diff-modus per default, force-all bei manuellem trigger)
  4. log-artefakt (publish-*.json, 30 tage retention)

benötigt 4 repo-secrets im github-ui:
  - BUNKER_URL
  - AUTHOR_PUBKEY_HEX
  - BOOTSTRAP_RELAY
  - CLIENT_SECRET_HEX (stabile client-identität für amber-permissions)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 06:52:08 +02:00