gitaiflow / Deployment / Deployment
DocsgitaiflowDeploymentDeployment

Deployment

gitaiflow is distributed as a compiled native binary, not a package installed into a Python environment. Its deployment lifecycle is:

1 min readApplies to v1.1.3
text
source repository (GitLab, private)
      │
      ▼
unit tests (pytest) + regression suites
      │
      ▼
Nuitka standalone --onefile compilation
   (macOS arm64 / Linux amd64 / Linux arm64 / Windows amd64 via PyInstaller+Wine)
      │
      ▼
GitLab Generic Package Registry
   (versioned + latest, per platform asset)
      │
      ▼
Cloudflare R2 sync
   (installers/ + install.sh + install.ps1 + manifest)
      │
      ▼
install.djangoplay.org  (redirect to R2)
      │
      ▼
curl | bash   /   irm | iex
      │
      ▼
gitaiflow  (on $PATH)

There is no server component tied to the binary itself. The one exception is the separately-deployed telemetry_server/ (a small Flask receiver) — it ships from the same repository but is deployed independently and shares nothing at runtime with the compiled binary. Its setup runbook is internal-only and isn't published here.

  • local-development.md — environment setup, running tests, compiling locally
  • binary-distribution.md — the full cross-platform build matrix, Cloudflare R2 sync architecture, and release process
  • package-release.md — condensed release checklist and Makefile targets used to cut a release
  • core-regression-tests.md — deterministic regression suite for the core service layer (internal-only, not published here)
  • telemetry-consent-tests.md — dedicated regression suite for telemetry consent behavior (internal-only, not published here)