upaas/internal
user 16640ef88e fix: cancel in-progress deploy on new webhook trigger
When a webhook-triggered deploy starts for an app that already has a deploy
in progress, the new deploy now cancels the existing one via context
cancellation, waits for the lock to be released, and then starts the new
deploy.

Changes:
- Add per-app context cancellation (appCancels sync.Map) to deploy.Service
- Deploy() creates a cancellable context and registers it for the app
- Add CancelAppDeploy() method to cancel an in-progress deploy
- Add ErrDeployCancelled sentinel error for cancelled deploys
- Handle context cancellation in build and deploy phases, marking
  deployments as failed with a clear cancellation message
- Webhook triggerDeployment() now cancels in-progress deploys and retries
  until the lock is released (up to 30 attempts with 2s delay)

fixes #38
2026-02-15 22:13:20 -08:00
..
config Add deployment improvements and UI enhancements 2025-12-30 15:05:26 +07:00
database fix: resolve all golangci-lint issues 2026-02-15 21:55:24 -08:00
docker fix: resolve all golangci-lint issues 2026-02-15 21:55:24 -08:00
globals Initial commit with server startup infrastructure 2025-12-29 15:46:03 +07:00
handlers fix: cancel in-progress deploy on new webhook trigger 2026-02-15 22:13:20 -08:00
healthcheck Initial commit with server startup infrastructure 2025-12-29 15:46:03 +07:00
logger Initial commit with server startup infrastructure 2025-12-29 15:46:03 +07:00
middleware fix: only trust proxy headers from RFC1918/loopback sources (closes #44) 2026-02-15 22:01:54 -08:00
models fix: address noinlineerr lint warning 2026-02-15 21:43:00 -08:00
server fix: add ownership verification on env var, label, volume, and port deletion 2026-02-15 21:02:46 -08:00
service fix: cancel in-progress deploy on new webhook trigger 2026-02-15 22:13:20 -08:00
ssh Initial commit with server startup infrastructure 2025-12-29 15:46:03 +07:00