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
|`fail_on_api_error`| ❌ |`true`| Fail the workflow if Versioner API has connectivity or authentication errors. Preflight check rejections (409, 423, 428) always fail regardless of this setting. |
90
89
91
90
\* Required unless provided via `VERSIONER_API_KEY` environment variable
92
91
@@ -127,21 +126,20 @@ Preflight checks run automatically by default:
127
126
128
127
### Skip Checks (Emergency Only)
129
128
130
-
For emergency hotfixes, you can skip preflight checks:
129
+
For emergency hotfixes, admins can temporarily disable or set rules to "Report Only" mode in the Versioner UI. This provides centralized control without requiring code changes:
131
130
132
-
```yaml
133
-
- name: Emergency hotfix deployment
134
-
uses: versioner-io/versioner-github-action@v1
135
-
with:
136
-
api_key: ${{ secrets.VERSIONER_API_KEY }}
137
-
product_name: my-service
138
-
version: ${{ github.sha }}
139
-
environment: production
140
-
status: started
141
-
skip_preflight_checks: true # ⚠️ Use sparingly!
142
-
```
131
+
1. Log into Versioner UI
132
+
2. Navigate to Deployment Rules
133
+
3. Change rule status from "Enabled" to "Report Only" or "Disabled"
134
+
4. Deploy normally - rules won't block
135
+
5. After emergency, flip rules back to "Enabled"
143
136
144
-
**⚠️ Warning:** Skipping checks bypasses all deployment policies. Use only for genuine emergencies.
137
+
**Benefits of server-side control:**
138
+
- No code changes required
139
+
- Instant effect across all deployments
140
+
- Granular control (disable specific rules, not all)
141
+
- Auditable (status changes tracked)
142
+
- Easy to reverse
145
143
146
144
### Error Messages
147
145
@@ -155,9 +153,6 @@ Rule: Production Freeze - Friday Afternoons
155
153
Deployment blocked by no-deploy window
156
154
157
155
Retry after: 2025-11-21T18:00:00-08:00
158
-
159
-
To skip checks (emergency only), add to your workflow:
160
-
skip-preflight-checks: true
161
156
```
162
157
163
158
**Flow Violation (428):**
@@ -182,9 +177,6 @@ Version must soak in staging for at least 24 hours
182
177
Retry after: 2025-11-22T10:00:00Z
183
178
184
179
Wait for soak time to complete, then retry.
185
-
186
-
To skip checks (emergency only), add to your workflow:
187
-
skip-preflight-checks: true
188
180
```
189
181
190
182
## 🔧 Usage Examples
@@ -312,9 +304,9 @@ jobs:
312
304
status: ${{ steps.deploy.outcome }}
313
305
```
314
306
315
-
### Enforce Deployment Policies
307
+
### Best-Effort Observability
316
308
317
-
Fail the workflow if Versioner rejects the deployment (e.g., no-deploy windows, concurrent deployments):
309
+
Allow deployments to proceed even if Versioner API is unavailable:
318
310
319
311
```yaml
320
312
- name: Deploy to production
@@ -323,9 +315,11 @@ Fail the workflow if Versioner rejects the deployment (e.g., no-deploy windows,
323
315
api_key: ${{ secrets.VERSIONER_API_KEY }}
324
316
version: ${{ github.sha }}
325
317
environment: production
326
-
fail_on_rejection: true#Fail if Versioner blocks deployment
318
+
fail_on_api_error: false#Don't block deployment if Versioner is down
327
319
```
328
320
321
+
**Note:** Preflight check rejections (409, 423, 428) always fail the workflow. Policy enforcement is controlled server-side via rule status (enabled, report_only, disabled) in the Versioner UI.
Copy file name to clipboardExpand all lines: action.yml
+2-6Lines changed: 2 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -38,14 +38,10 @@ inputs:
38
38
description: 'Additional JSON metadata to attach to the event'
39
39
required: false
40
40
default: '{}'
41
-
fail_on_rejection:
42
-
description: 'Fail the workflow if Versioner rejects the deployment (e.g., conflicts, no-deploy windows)'
41
+
fail_on_api_error:
42
+
description: 'Fail the workflow if Versioner API has connectivity or authentication errors (does not affect preflight check rejections, which always fail)'
43
43
required: false
44
44
default: 'true'
45
-
skip_preflight_checks:
46
-
description: 'Skip preflight checks (use for emergency deployments only)'
0 commit comments