feat: report deployment status to GitHub Deployments API by Flo4604 · Pull Request #5254 · unkeyed/unkey

This was referenced

Mar 9, 2026

@Flo4604 Flo4604 marked this pull request as ready for review

March 12, 2026 09:34

coderabbitai[bot]

coderabbitai[bot]

chronark

chronark

coderabbitai[bot]

Show deployment progress on GitHub PRs like Vercel — environment name,
status indicator, and deployment link.

- Add `github_deployment_id` column to deployments table
- Add `CreateDeployment` and `CreateDeploymentStatus` to GitHubClient
- Create `deploymentStatusReporter` interface with noop pattern
- Wire status reporting into deploy workflow lifecycle
- Add `pkg/httpclient` generic HTTP helper to clean up GitHub API calls
- Refactor existing GitHub client to use httpclient (removes boilerplate)

Status updates at each phase: pending → in_progress (build/deploy/network) → success/failure
All GitHub calls are fire-and-forget — GitHub outages never block deploys.
…t status

- Add dashboard_url toml config (defaults to https://app.unkey.com)
- Add logURL param to CreateDeploymentStatus for GitHub "View logs" link
- Set dashboard_url to http://localhost:3000 in local dev
- Add debug logging when repo connection is not found

@Flo4604

@Flo4604

Split monolithic github_status.go into:
- status_reporter.go: interface + factory (createStatusReporter)
- status_reporter_noop.go: no-op implementation
- status_reporter_github.go: GitHub Deployments API implementation
Use config struct instead of 10 positional params, extract
formatEnvironmentLabel and formatDomainPrefix helpers, make interface
file minimal with just the interface definition.
- Regenerate BUILD.bazel for split status reporter files
- Add ghDeploymentID to exhaustruct init
- Add DashboardURL to harness config

@Flo4604

@autofix-ci @Flo4604

@autofix-ci

chronark

@Flo4604 Flo4604 deleted the feat/github-deployment-status branch

March 16, 2026 11:51