GitHub Flow — MQA Governance Portal
Executive Overview — all summaries for decision-makers.
Stand: August 2026 · Repo: MQA-Group/MQA-Governance-Portal (privat)
Branch-Modell
main ──────────────► Production (portal.mqa.group / api.mqa.group)
▲
│ PR nach Staging-Smoke-Test
│
develop ───────────► Staging (mqa-*-staging.onrender.com)
▲
│ PR mit Review + CI
│
feature/* ─────────► Entwicklung
fix/*
chore/*| Branch | Zweck | Auto-Deploy |
|---|---|---|
main | Production, stabil | Render Production |
develop | Integration / Staging | Render Staging |
feature/*, fix/*, chore/* | Kurzlebige Arbeit | — |
Regel: Nie direkt auf main pushen. Immer PR → develop → nach Test PR → main.
Pull-Request-Prozess
- Branch von
developerstellen:git checkout develop && git pull && git checkout -b feature/kurz-beschreibung - Commits mit Conventional Commits:
feat:neues Featurefix:Bugfixchore:Tooling, CI, Dokudocs:nur Dokumentationsecurity:Hardening
- PR gegen
developöffnen — Template ausfüllen - CI Success muss grün sein (Required Check, siehe unten)
- Mind. 1 Review (Team-Disziplin; Branch Protection siehe unten)
- Merge (Squash bevorzugt für saubere History)
- Staging testen → DEPLOYMENT-CHECKLIST
- Release PR:
develop→main(nur nach Staging-OK)
CI / GitHub Actions
Workflow: .github/workflows/ci.yml
| Job | Pflicht | Hinweis |
|---|---|---|
| CI Success | ✅ Ja | Aggregierter Gate-Check für Branch Protection |
| Frontend Build | ✅ Ja | Lint/Test advisory (continue-on-error) |
| Backend Build | ✅ Ja | Lint/Test advisory |
| Security audit | Advisory | npm audit --audit-level=high |
Path-Filter: Nur betroffene Jobs laufen (Frontend/Backend getrennt).
Dependabot: .github/dependabot.yml — wöchentliche npm-Updates (Mo 06:00 Berlin).
Branch Protection (manuell einrichten)
Hinweis: Private Repos ohne GitHub Pro/Team können Rulesets/Branch Protection per API nicht erzwingen. Bis Upgrade: Team-Disziplin + PR-Template.
Nach GitHub Pro / Team Plan:
main
- Require PR before merge
- Required status check: CI Success
- Require 1 approval
- Dismiss stale reviews
- Do not allow bypass (Admins optional)
- Restrict pushes to
main
develop
- Require PR before merge
- Required status check: CI Success
- 1 approval empfohlen
Einrichtung: Repo → Settings → Branches → Add branch ruleset (oder Classic protection).
Secrets & Security
- Keine Secrets in Commits, PRs oder Issues
- Env-Referenz: ENV-INVENTORY
- Render Secrets nur im Dashboard / Blueprint
sync: false
Release nach Production
- PR
develop→mainmit Release-Notizen (Summary im PR-Body) - Nach Merge: Render deployt automatisch (~5–10 Min)
- Smoke-Test Production: DEPLOYMENT-CHECKLIST
- Bei DB-Änderungen: Migrationen sind im Backend-Entrypoint (
prisma migrate deploy) — kein manuelles Seed in Prod
Hotfix (Ausnahme)
Kritische Production-Fixes:
bash
git checkout main && git pull
git checkout -b fix/kurz-beschreibung
# fix, commit, PR → main
# danach: main → develop mergen (Back-merge)Nützliche Befehle
bash
# CI lokal spiegeln
npm ci && npm run build
cd backend && npm ci && npm run build
# PR erstellen
gh pr create --base develop --title "feat: …" --body-file .github/pull_request_template.md
# Status Checks
gh pr checksVerwandte Docs
- OPS-ECOSYSTEM — Architektur
- STAGING-STATUS — Staging-Ressourcen
- OPS-ROADMAP — Offene Ops-Punkte