36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# 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/notify`
|
|
- `internal/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`.
|