Add release pipeline: launchd runtime, deploy scripts, release workflow - #4
Merged
Conversation
Runtime: - Replace tmux with launchd as the process manager (auto-restart, survives agent accidents, full shell environment via zsh -il wrapper) - bin/install-launchd: clones repo to ~/.dispatch/server/, builds, generates plist, supports --port flag for running multiple instances - bin/uninstall-launchd: unloads and removes plist Deployment: - bin/dispatch-deploy <tag|--latest>: checks out verified tag in server dir, builds, reloads launchd, health checks with auto-rollback on failure, writes detailed failure log to ~/.dispatch/logs/last-release-failure.log - bin/dispatch-release <patch|minor|major>: triggers GitHub Actions release workflow, waits for completion, reads produced tag, calls dispatch-deploy; spawns diagnosis agent on workflow failure CI/Release workflow: - .github/workflows/release.yml: manual workflow_dispatch with version input; runs full CI, bumps version in both package.json files, commits, tags, pushes, creates GitHub Release Config/infra cleanup: - DISPATCH_PORT replaces PORT as primary env var (PORT kept as fallback) - docker-compose.yml: rename hostess-postgres -> dispatch-postgres - .env.example: update to dispatch naming, remove hostess references - src/config.ts: read DISPATCH_PORT first, update hostess defaults to dispatch Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
selfcontained added a commit
that referenced
this pull request
Jul 8, 2026
…s, seed data - Restyle feedback items as bordered cards with visual separation (#5) - Clip long file paths from the left using direction:rtl so filenames stay visible (#1) - Add framer-motion AnimatePresence expand/collapse on feedback item detail (#3) - Dim file links not found in current diff with tooltip fallback (#2) - Fix file navigation to only scroll when target file exists in diff (#2) - Add review seed data with resolved/pending items and thread messages (#4) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bin/install-launchd— clones repo to~/.dispatch/server/, builds, installs launchd service;--portflag for running on a custom port (e.g.--port 6767)bin/uninstall-launchd— unloads and removes plistbin/dispatch-deploy <tag|--latest>— deploys a verified tag to the server directory, reloads launchd, health checks; auto-rollback to previous tag on failure with detailed failure log at~/.dispatch/logs/last-release-failure.logbin/dispatch-release <patch|minor|major>— triggers GitHub Actions release workflow, waits, reads produced tag, callsdispatch-deploy; spawns diagnosis agent on workflow failure (not deploy failure, since Dispatch may be down then).github/workflows/release.yml— manualworkflow_dispatchwith version input; runs full CI, bumps bothpackage.jsonfiles, commits, tags, pushes, creates GitHub ReleaseDISPATCH_PORTreplacesPORTas primary env var (PORTkept as fallback)docker-compose.yml— renamehostess-postgres→dispatch-postgres(applied during migration, not automatically)src/config.ts— readsDISPATCH_PORTfirst, updated hostess defaults to dispatchMigration plan (after merge)
bin/install-launchd --port 6767— starts new launchd instance alongside existing tmux instancepg_dumpfrom hostess-postgres~/.dispatch/server/.envDATABASE_URL to dispatch on 5433, reload launchdTest plan
bin/install-launchd --port 6767starts successfully🤖 Generated with Claude Code