You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
deploy-queue cancel version --component <COMPONENT> --version <VERSION> [--cancellation-note <NOTE>]
140
155
```
141
156
142
157
**Example:**
143
158
```bash
144
-
deploy-queue cancel 42 "Cancelled due to failing health checks"
159
+
deploy-queue cancel version --component api --version v1.2.3 --cancellation-note "Rolling back bad release"
160
+
```
161
+
162
+
#### Bulk Cancel per Region
163
+
164
+
Cancel all deployments in a specific location (environment, cloud provider, region, and optionally cell). Use this method only in case of emergencies and coordinate with owners of affected deployment jobs beforehand.
42 deployed [email protected]: (Hotfix for critical bug) (https://github.com/org/repo/actions/runs/123)
163
195
```
164
196
197
+
### 5. List Outliers
198
+
199
+
List deployments that are taking substantially longer than expected. This is useful for identifying stuck or problematic deployments.
200
+
201
+
**Example:**
202
+
```bash
203
+
deploy-queue list outliers
204
+
```
205
+
206
+
**Output:**
207
+
- Prints outlier deployments in JSON format
208
+
- Writes `active-outliers=<JSON>` to `$GITHUB_OUTPUT` if running in GitHub Actions
209
+
210
+
### 6. List Cells
211
+
212
+
List all known cells for a given environment. This shows which cloud provider/region/cell combinations have had deployments.
213
+
214
+
```bash
215
+
deploy-queue list cells --environment <ENVIRONMENT>
216
+
```
217
+
218
+
**Example:**
219
+
```bash
220
+
deploy-queue list cells --environment prod
221
+
```
222
+
223
+
**Output:**
224
+
```
225
+
Known cells for environment prod:
226
+
- prod-aws-us-west-2-cell-0
227
+
- prod-aws-us-west-2-cell-1
228
+
- prod-aws-us-east-1-cell-0
229
+
- prod-gcp-us-central1-cell-0
230
+
```
231
+
232
+
Writes `cells=<JSON>` to `$GITHUB_OUTPUT` if running in GitHub Actions.
233
+
165
234
## Configuration
166
235
167
236
### Environment Variables
@@ -338,6 +407,92 @@ jobs:
338
407
339
408
This "breaking glass" mechanism allows you to maintain deployment velocity during critical incidents while keeping the safety of the queue for normal operations.
340
409
410
+
### Slack Notifications
411
+
412
+
The deploy queue action supports sending deployment notifications to Slack channels, allowing teams to monitor deployments in real-time.
413
+
414
+
### Setup
415
+
416
+
To enable Slack notifications, you need:
417
+
418
+
1. **Slack Bot Token** - A bot token with `chat:write` permission
419
+
2. **Slack Channel ID** - The ID of the channel where notifications should be sent
420
+
421
+
Store these as variables/secrets in your GitHub repository:
422
+
- `SLACK_BOT_TOKEN`- Your Slack bot OAuth token secret
423
+
- `SLACK_CHANNEL_ID`- The target Slack channel ID (e.g., `C01234567`) variable
424
+
425
+
### How It Works
426
+
427
+
The action can send three types of notifications:
428
+
429
+
1. **Start Notification** - Sent when a deployment begins, includes:
430
+
- Component name and version
431
+
- Environment, cloud provider, region, and cell
432
+
- Deployment ID
433
+
- Link to GitHub Actions job
434
+
435
+
2. **Finish Notification** - Sent when a deployment completes successfully
436
+
- Can be displayed in the thread of the start notification (when providing `slack-start-message-id`)
437
+
438
+
3. **Cancel Notification** - Sent when a deployment is cancelled
439
+
- Can be displayed in the thread of the start notification (when providing `slack-start-message-id`)
By passing the `slack-start-message-id` output from the start step to the finish/cancel steps, the notifications will be threaded together in Slack, making it easy to track the full lifecycle of a deployment in one conversation thread.
495
+
341
496
## Development
342
497
343
498
### Running Tests
@@ -435,10 +590,29 @@ If compilation fails in CI without a database, ensure the `.sqlx/` directory is
435
590
### Components
436
591
437
592
- **CLI (`src/cli.rs`)** - Command-line argument parsing using `clap`
438
-
- **Library (`src/lib.rs`)** - Core logic for deployment management
439
-
- **Queries (`queries/`)** - SQL queries for blocking detection
0 commit comments