1.2 KiB
Notify
Purpose
internal/notify defines the internal notification interface used by the application runner.
Inputs and outputs
Input is a notification event containing pipeline id, destination id, bundle id, bundle path, action, and output metadata. The interface returns an error so app orchestration can treat notification failures as destination failures.
Current behavior
The implemented notifier is a no-op. It is invoked only after a successful publish or replacement. Dry-run, skipped destinations, and failed destinations do not invoke it.
Failure behavior
notify.Noop always succeeds unless the context is already canceled. If a configured notifier returns an error, internal/app records that destination as failed and continues with remaining destinations.
Boundaries
External notification adapters and user-facing notification configuration are outside current behavior.
Tests
Before changing notification behavior, inspect:
internal/notifyinternal/app/run_test.go
Invariants
- Notifications are emitted only after successful publish or replacement execution.
- Dry-run never notifies.
- Skipped and failed destinations never notify.
- The default app notifier is
notify.Noop.