cyberneticlibrary

Cut releases across all platforms

releasecommandsetup L21,619
dustinkirkland/byobu
What it does

Execute multi-platform software release pipeline (RC and final)

Best for

Multi-platform Debian-based software releases requiring coordinated PPA, PyPI, Homebrew, and GitHub synchronization with RC iteration.

Inputs
  • · Mode flag: "rc" or "final"
  • · Base version from debian/changelog
  • · DEBEMAIL, DEBFULLNAME, GPGKEY from ~/.bashrc
Outputs
  • · PPA uploads with correct version schemes
  • · PyPI RC or final release tags
  • · Debian experimental/Ubuntu dev uploads
  • · Homebrew tap updates (final only)
  • · GitHub release tags
Requires
  • · dput (Debian package upload)
  • · debsign (package signing)
  • · git
  • · docker
  • · python3
  • · gh (GitHub CLI)
  • · Launchpad API
  • · PyPI
Preconditions
  • · byobu/trustmux repository cloned
  • · GPG key configured in ~/.bashrc
  • · Correct DEBEMAIL (kirkland@ubuntu.com) set
  • · Homebrew tap repo cloned (final mode)
  • · dput and debsign installed
Failure modes
  • · Wrong DEBEMAIL → ftp-master silently rejects upload
  • · Missing dput/debsign → commands unavailable
  • · Version collision → Launchpad API query finds duplicates
  • · Bad GPG key → signing fails
Trust signals
  • · Phase 1-2: Pre-flight identity and tool verification
  • · Phase 3: Explicit Launchpad version-query to avoid collisions
  • · DEBEMAIL validation prevents silent ftp-master rejection
  • · Version schemes use dpkg ordering to guarantee RC < final