Greenhouse Releases
Critical Rule: NEVER merge Pull Requests manually. The release pipeline handles this.
Tools
pipelinectl
POSIX-compliant CLI for managing release pipelines.
Commands:
bash
pipelinectl list --all # View all historical releases pipelinectl show <release-id> # Show release details (only needs release ID) pipelinectl logs <release-id> # Get release logs pipelinectl start --pull-request-url <URL> --no-watch # Start release (app name inferred from cwd) pipelinectl promote-to <stage> --no-watch # Promote release pipelinectl cancel <release-id> --no-watch # Cancel release
Notes:
- •Commands
promote-to,start, andcancelrequire--no-watchflag - •Application name inferred from current directory or
.release-pipelinefile - •Release stages: assembling → canary → stable
lotus
Tool for application deployments.
PR Dev Instances:
bash
lotus <command> --environment pr-<number> --space dev --region use1
Deployment:
bash
lotus deploy --auto-pr # Auto-create and handle GitOps PRs
Health Check:
bash
kubectl get po -n greenhouse -l lotus.greenhouse.io/environment=<instance_name>
Instance is ready when:
- •
*-web-*and-post-deploy-workerpods areRunning, OR - •
-predeploy-pod hasCompletedstatus
white-pages-client
Retrieve user information from internal systems:
bash
one --by-github-login <login> # Get full name from GitHub login
Release Information Workflow
When summarizing a release:
- •Find latest release ID:
pipelinectl list --all - •Get included PRs:
pipelinectl show <ID> - •For each PR:
- •Fetch PR details using
github.get_pull_request - •Resolve author's real name:
white-pages-client one --by-github-login <login> - •Fetch commits:
github.list_commitswith PR'shead.sha
- •Fetch PR details using
- •Present summary with: PR title, URL, author's real name, commit messages
Output
Write summaries to markdown files under .scratch/ directory.