upaas/internal/service
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
..
app fix: use hashed webhook secrets for constant-time comparison 2026-02-15 14:06:53 -08:00
auth fix: set DestroySession MaxAge to -1 instead of -1*time.Second (closes #39) 2026-02-15 22:07:57 -08:00
deploy fix: cancel in-progress deploy on new webhook trigger 2026-02-15 22:13:20 -08:00
notify Add commit URL to Slack notifications with link and backtick formatting 2025-12-31 16:29:22 -08:00
webhook fix: cancel in-progress deploy on new webhook trigger 2026-02-15 22:13:20 -08:00