Gruen-Gate: Ampel gruen auf main -> automatische Befoerderung auf stable
Ampel / ampel (push) Successful in 31s
Ampel / ampel (push) Successful in 31s
Arcane-GitSync deployt kuenftig von stable (rot deployt NIE). deploy.sh wird zum Notfall-Hebel. MakeMKV-Entscheid: Konzept gilt, lossless als Etappe 10 in der ROADMAP verankert.
This commit is contained in:
@@ -71,3 +71,14 @@ jobs:
|
|||||||
echo "❌ AMPEL ROT — nichts heißt ‚fertig', solange das rot ist."
|
echo "❌ AMPEL ROT — nichts heißt ‚fertig', solange das rot ist."
|
||||||
fi
|
fi
|
||||||
exit $rot
|
exit $rot
|
||||||
|
|
||||||
|
- name: Grün-Gate — grünen Stand auf 'stable' befördern (Arcane deployt von dort)
|
||||||
|
if: success()
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [ "${GITHUB_REF_NAME:-}" = "main" ]; then
|
||||||
|
git push origin +HEAD:refs/heads/stable
|
||||||
|
echo "✅ main → stable befördert. Arcane-GitSync zieht 'stable' und deployt."
|
||||||
|
else
|
||||||
|
echo "Kein main-Push — keine Beförderung."
|
||||||
|
fi
|
||||||
|
|||||||
@@ -17,9 +17,11 @@ abschwächen). Keine Tests = rot = nicht fertig. Der Commander liest die Ampel,
|
|||||||
gestrichenes Muss-Feature → erst den Commander fragen, NIE still ersetzen.
|
gestrichenes Muss-Feature → erst den Commander fragen, NIE still ersetzen.
|
||||||
(Vorgefallen: Muss-Feature „MakeMKV lossless" wurde still durch lossy HandBrake ersetzt.)
|
(Vorgefallen: Muss-Feature „MakeMKV lossless" wurde still durch lossy HandBrake ersetzt.)
|
||||||
|
|
||||||
**C. Deployment NUR über `./deploy.sh`.** Idempotent, EIN fester Compose-Projektname
|
**C. Deployment läuft AUTOMATISCH über das Grün-Gate.** Ampel grün auf `main` →
|
||||||
(`rippy`), EIN Pfad (`~/projects/rippy`). Nie freihändig per SSH auf der VM bauen.
|
CI befördert den Stand auf Branch `stable` → Arcane-GitSync zieht `stable` und
|
||||||
(Vorgefallen: Doppel-Anlage `Rippy` + `rippy` auf der arcane-VM.)
|
deployt. Du deployst also durch PUSHEN, nicht durch Kommandos. `./deploy.sh` ist
|
||||||
|
NUR der Notfall-Hebel (Arcane down o. ä.); nie freihändig per SSH auf der VM bauen.
|
||||||
|
(Vorgefallen: Doppel-Anlage `Rippy` + `rippy` auf der VM durch Freihand-Deploys.)
|
||||||
|
|
||||||
**D. Externe Schnittstellen NIE aus dem Kopf.** Vor Nutzung fremder CLI-Flags oder
|
**D. Externe Schnittstellen NIE aus dem Kopf.** Vor Nutzung fremder CLI-Flags oder
|
||||||
Bibliotheks-APIs: `--help`/Doku prüfen und die Fundstelle im Commit nennen.
|
Bibliotheks-APIs: `--help`/Doku prüfen und die Fundstelle im Commit nennen.
|
||||||
|
|||||||
+12
@@ -217,3 +217,15 @@
|
|||||||
| TMDB-Bildrechte | Etappe 4 | Gelöst: TMDB API-ToS erlaubt private Nutzung |
|
| TMDB-Bildrechte | Etappe 4 | Gelöst: TMDB API-ToS erlaubt private Nutzung |
|
||||||
| Hybrid-Discs | Etappe 1 | MVP erkennt nur Standard; als "Kann" notiert |
|
| Hybrid-Discs | Etappe 1 | MVP erkennt nur Standard; als "Kann" notiert |
|
||||||
| Redis Single-Instance | Etappe 1 | MVP reicht; Cluster als "Später" |
|
| Redis Single-Instance | Etappe 1 | MVP reicht; Cluster als "Später" |
|
||||||
|
|
||||||
|
## Etappe 10: MakeMKV-Umstellung — das Muss-Feature „lossless" einlösen
|
||||||
|
**Ziel:** DVD/Blu-ray-Ripping auf `makemkvcon` umstellen (verlustfrei), wie im
|
||||||
|
KONZEPT als Muss definiert. HandBrake fliegt aus dem Ripp-Pfad (bleibt ggf. als
|
||||||
|
optionaler Transcode-Schritt NACH dem verlustfreien Rip).
|
||||||
|
- [ ] Worker-Dockerfile: makemkv-oss/makemkv-bin bauen + Beta-Key-Handling (Env/Cron)
|
||||||
|
- [ ] ripping.py: rip_dvd/rip_bluray auf `makemkvcon --all --progress mkv` umstellen
|
||||||
|
(Fortschritts-Parsing anpassen, Tests zuerst!)
|
||||||
|
- [ ] E2E mit echter Disc verifizieren (Commander, Laufwerk nötig)
|
||||||
|
**Fertig wenn:** eine echte DVD landet verlustfrei als MKV im Output, Ampel grün.
|
||||||
|
**Entstanden aus:** Review 22.07. — HandBrake-lossy war eine stille Abweichung vom
|
||||||
|
Konzept; Entscheid 22.07. abends: Konzept gilt, Umbau als eigene Etappe.
|
||||||
|
|||||||
+10
-8
@@ -93,12 +93,14 @@ Gefixt:
|
|||||||
- Tests: test_auth, test_cache_keys, test_ripping_helpers (der giftige
|
- Tests: test_auth, test_cache_keys, test_ripping_helpers (der giftige
|
||||||
test_health-Placebo ist raus).
|
test_health-Placebo ist raus).
|
||||||
|
|
||||||
## ⚠️ OFFENE ENTSCHEIDUNG FÜR DEN COMMANDER (Regel B — keine stille Abweichung)
|
## ✅ ENTSCHIEDEN (22.07. abends): Das KONZEPT gilt — MakeMKV kommt
|
||||||
|
|
||||||
**KONZEPT sagt: MakeMKV, verlustfrei (Muss-Feature). Gebaut wurde: HandBrake mit
|
**MakeMKV lossless (Muss-Feature) wird umgesetzt — als eigene Etappe 10 in der
|
||||||
Lossy-Preset „Fast 1080p30".** Deine DVDs/Blu-rays werden aktuell TRANSKODIERT,
|
ROADMAP** (Worker-Container + makemkvcon + Beta-Key, in Zed zu bauen, E2E mit
|
||||||
nicht verlustfrei gesichert. Optionen:
|
echter Disc). Bis dahin bleibt HandBrake als SICHTBARER Übergang aktiv — jede*r
|
||||||
1. Auf MakeMKV umbauen (wie geplant — makemkvcon ist im Prescan schon im Einsatz,
|
weiß: aktuell wird transkodiert, nicht verlustfrei gesichert.
|
||||||
braucht Beta-Key-Handling im Worker-Container), ODER
|
|
||||||
2. Konzept bewusst ändern („lossy reicht mir") und KONZEPT.md anpassen.
|
## Deploy-Weg seit 22.07. abends: GRÜN-GATE (vollautomatisch)
|
||||||
Bis zur Entscheidung bleibt HandBrake aktiv — aber jetzt SICHTBAR statt still.
|
Push auf `main` → Ampel prüft → grün → CI befördert auf Branch `stable` →
|
||||||
|
**Arcane-GitSync zieht `stable` und deployt**. Rot deployt NIE. `./deploy.sh`
|
||||||
|
ist nur noch der Notfall-Hebel; SSH zur VM bleibt als Fallback erlaubt.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# EINZIGER Deploy-Weg für Rippy (Regel C in AGENTS.md, seit 22.07.2026).
|
# NOTFALL-Deploy für Rippy (seit Grün-Gate 22.07.2026 NICHT mehr der Normalweg!).
|
||||||
|
# Normalweg: push → Ampel grün → CI befördert auf 'stable' → Arcane-GitSync deployt.
|
||||||
|
# Dieses Skript nur nutzen, wenn der Automat klemmt (Arcane down o. ä.).
|
||||||
# Idempotent: EIN Compose-Projektname (rippy), EIN Pfad auf der VM.
|
# Idempotent: EIN Compose-Projektname (rippy), EIN Pfad auf der VM.
|
||||||
# Nie freihändig per SSH bauen — genau daraus entstand die Doppel-Anlage
|
|
||||||
# Rippy/rippy am 21.07.
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
VM="arcane@192.168.178.162"
|
VM="arcane@192.168.178.162"
|
||||||
|
|||||||
Reference in New Issue
Block a user