diff --git a/README.md b/README.md index e4ef123..9256ed5 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,58 @@ cargo run -p czdev --release -- deploy \ ./target/release/czdev unpublish my_app --version 1.0.1 ``` +#### Publish Workflow + +``` +┌──────────────────────────────────────────────────────────────────────────────┐ +│ czdev publish — End-to-End Flow │ +└──────────────────────────────────────────────────────────────────────────────┘ + + ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌─────────────┐ + │ LOGIN │────────▶│ BUILD │────────▶│ PUBLISH │────────▶│ REVIEW │ + └─────────┘ └─────────┘ └──────────┘ └─────────────┘ + │ │ │ │ + ▼ ▼ ▼ ▼ + czdev login czdev build czdev publish Admin merges + (GitHub OAuth or CI workflow --deb xxx.deb the PR + Device Flow) ─▶ .deb artifact ┌────────────┐ │ + │ │ Preflight: │ ▼ + ▼ │ • .desktop │ ┌───────────┐ + Token saved │ • email ✓ │ │ RELEASE │ + ~/.config/ │ • version ✓│ └───────────┘ + czdev/token │ • size ✓ │ │ + └─────┬──────┘ ▼ + │ APT repo updated + ▼ App live in Store + Fork + Push + ─▶ PR created + on packages + +─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ + + Timeline: + + You (Developer) czdev GitHub (Remote) + ─────────────── ───── ─────────────── + │ │ │ + │── czdev login ─────────────▶│── OAuth Device Flow ──────▶│ + │ │◀── access token ───────────│ + │ │ │ + │── czdev publish ───────────▶│ │ + │ │── validate .deb ──────────▶│ (check ver) + │ │── fork packages repo ─────▶│ + │ │── git push (LFS) ─────────▶│ + │ │── POST /pulls ────────────▶│ + │◀── PR URL ─────────────────│ │ + │ │ │ + │ │ Admin reviews & merges + │ │ │ + │ │ CI rebuilds APT index + │ │ │ + │◀───────────────────── App available in AppStore ─────────│ + │ │ +``` + ## Install czdev **Option A — Build from source (recommended):**