Skip to content

Commit 39584bb

Browse files
committed
docs: update CHANGELOG to reflect v1.1.2 instead of v2.0.0
- Changed from v2.0.0 to v1.1.2 (hotfix release) - No breaking changes - all fixes are for bugs that never worked - Updated migration guide to reflect seamless upgrade - Updated version support matrix This is a hotfix release, not a major version bump, because: - Bugs were present since v1.0.0 and never worked correctly - No API changes or new features - Only consumer is deutschebank-infrastructure - Maintains backward compatibility
1 parent 53fb44a commit 39584bb

1 file changed

Lines changed: 28 additions & 51 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ All notable changes to the Deployment Guard workflow will be documented in this
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [2.0.0] - 2025-12-16
8+
## [1.1.2] - 2025-12-16
99

10-
### 🎯 Major Breaking Changes
10+
### 🐛 Critical Bug Fixes
1111

12-
This is a complete architectural refactor of the Deployment Guard workflow to eliminate fragile temporary file-based state management and improve validation logic robustness.
12+
This is a complete architectural refactor of the Deployment Guard workflow to fix critical bugs that were present since v1.0.0. These bugs prevented proper validation and are now fixed without breaking changes.
1313

1414
### ✨ Added
1515

@@ -31,13 +31,9 @@ This is a complete architectural refactor of the Deployment Guard workflow to el
3131

3232
### 🔧 Changed
3333

34-
- **BREAKING**: `verify_image_existence` now defaults to `true` (was `false` in v1.x)
35-
- This was always the intended behavior but was disabled due to bugs in v1.x
36-
- If you want to disable image existence checks, explicitly set to `false`
37-
3834
- **State Management Architecture**: Complete replacement of temporary files with bash arrays
3935
- **Before (v1.x)**: Used `/tmp/validation_failed.txt`, `/tmp/new_images.txt`, `/tmp/old_images.txt`
40-
- **After (v2.0.0)**: Uses bash arrays: `VALIDATION_FAILED`, `FAILED_IMAGES`, `NEW_IMAGES`, `OLD_IMAGES`
36+
- **After (v1.1.2)**: Uses bash arrays: `VALIDATION_FAILED`, `FAILED_IMAGES`, `NEW_IMAGES`, `OLD_IMAGES`
4137
- Eliminates race conditions and file cleanup issues
4238
- Deterministic execution with explicit state tracking
4339

@@ -116,51 +112,32 @@ This is a complete architectural refactor of the Deployment Guard workflow to el
116112

117113
---
118114

119-
## Migration Guide: v1.x → v2.0.0
120-
121-
### Breaking Changes
122-
123-
1. **`verify_image_existence` default changed from `false` to `true`**
124-
- **Impact**: Image existence will now be verified by default
125-
- **Action**: If you don't want existence checks, explicitly set to `false` in your workflow
115+
## Migration Guide: v1.1.1 → v1.1.2
126116

127-
```yaml
128-
# v1.x (implicit default)
129-
uses: dotCMS/ai-workflows/.github/workflows/[email protected]
130-
# No need to specify verify_image_existence, defaults to false
117+
### No Breaking Changes
131118

132-
# v2.0.0 (new default)
133-
uses: dotCMS/ai-workflows/.github/workflows/[email protected]
134-
# Defaults to true, explicitly disable if needed:
135-
with:
136-
verify_image_existence: false
137-
```
119+
v1.1.2 is a **hotfix release** that fixes critical bugs without changing the API or default behavior. All workflows using v1.1.1 can safely upgrade to v1.1.2 without any changes.
138120

139-
### What's Fixed in v2.0.0
121+
### What's Fixed in v1.1.2
140122

141123
1. **Rebuild Downgrade Protection**: Now correctly blocks downgrades like `25.12.08-2``25.12.08`
142124
2. **Private Registry Support**: Image existence checks now work with private registries
143125
3. **Deterministic Execution**: No more temporary file race conditions
144126
4. **Complete Error Reporting**: All validation failures are reported, not just the first one
145127

146-
### Testing Before Migrating
128+
### Upgrade Steps
147129

148-
We recommend testing v2.0.0 in a non-production branch first:
130+
Simply update the version tag in your workflow:
149131

150132
```yaml
151-
# Create a test PR with this configuration
152-
uses: dotCMS/ai-workflows/.github/workflows/[email protected]
153-
with:
154-
testing_force_non_bypass: true # Force validation even for org members
155-
# ... rest of your configuration
156-
```
133+
# Before (v1.1.1 - buggy)
134+
uses: dotCMS/ai-workflows/.github/workflows/[email protected]
157135

158-
### Recommended Migration Path
136+
# After (v1.1.2 - fixed)
137+
uses: dotCMS/ai-workflows/.github/workflows/[email protected]
138+
```
159139
160-
1. **Week 1**: Deploy v2.0.0 to staging/dev environments
161-
2. **Week 2**: Monitor for any issues, validate all test cases pass
162-
3. **Week 3**: Deploy to production environments
163-
4. **Week 4**: Deprecate v1.x, update all references to v2.0.0
140+
No configuration changes needed! All parameters remain the same.
164141
165142
---
166143
@@ -177,24 +154,24 @@ with:
177154
# After: 25.12.08_xyz789 (no rebuild = rebuild 0)
178155
```
179156

180-
**v1.x Behavior**: ✅ Allowed (incorrectly)
157+
**v1.1.1 Behavior**: ✅ Allowed (incorrectly)
181158
- Extracted base version: `25.12.08` == `25.12.08` → Same version, allowed
182159
- Did NOT compare rebuild numbers
183160

184-
**v2.0.0 Behavior**: ❌ Blocked (correctly)
161+
**v1.1.2 Behavior**: ❌ Blocked (correctly)
185162
- Extracted base version: `25.12.08` == `25.12.08`
186163
- Extracted rebuild: `2` > `0` → Downgrade detected, blocked
187164

188165
**Technical Details**:
189166
```bash
190-
# v1.x logic (BROKEN)
167+
# v1.1.1 logic (BROKEN)
191168
OLD_VERSION_NO_HASH="${OLD_TAG%%_*}" # 25.12.08-2
192169
NEW_VERSION_NO_HASH="${TAG%%_*}" # 25.12.08
193170
OLD_VERSION="${OLD_VERSION_NO_HASH%%-*}" # 25.12.08
194171
NEW_VERSION="${NEW_VERSION_NO_HASH%%-*}" # 25.12.08
195172
# Only compared: 25.12.08 == 25.12.08 → ✅ PASS (BUG!)
196173

197-
# v2.0.0 logic (FIXED)
174+
# v1.1.2 logic (FIXED)
198175
OLD_BASE_VERSION=$(echo "$OLD_TAG" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+') # 25.12.08
199176
NEW_BASE_VERSION=$(echo "$TAG" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+') # 25.12.08
200177
# Compare base: 25.12.08 == 25.12.08
@@ -209,12 +186,12 @@ NEW_BASE_VERSION=$(echo "$TAG" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+') # 25.1
209186

210187
**Scenario**: Multiple validation failures in same job run
211188

212-
**v1.x Behavior**:
189+
**v1.1.1 Behavior**:
213190
- Wrote `echo "false" > /tmp/validation_failed.txt` from different points
214191
- Files could be left behind from previous runs
215192
- Race conditions in concurrent validations
216193

217-
**v2.0.0 Behavior**:
194+
**v1.1.2 Behavior**:
218195
- Uses in-memory bash arrays: `VALIDATION_FAILED=false`, `FAILED_IMAGES=()`
219196
- Accumulates all failures before exiting
220197
- Deterministic, no file system dependencies
@@ -226,12 +203,12 @@ NEW_BASE_VERSION=$(echo "$TAG" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+') # 25.1
226203

227204
**Scenario**: Using a mirror registry (e.g., `mirror.gcr.io/dotcms/dotcms:25.12.08`)
228205

229-
**v1.x Behavior**: ❌ Failed
206+
**v1.1.1 Behavior**: ❌ Failed
230207
- Only checked Docker Hub: `docker manifest inspect dotcms/dotcms:25.12.08`
231208
- If image not in Docker Hub → validation failed
232209
- Didn't fallback to full image path
233210

234-
**v2.0.0 Behavior**: ✅ Success
211+
**v1.1.2 Behavior**: ✅ Success
235212
- First tries Docker Hub: `dotcms/dotcms:25.12.08`
236213
- If not found, tries full path: `mirror.gcr.io/dotcms/dotcms:25.12.08`
237214
- Gracefully handles both public and private registries
@@ -240,10 +217,10 @@ NEW_BASE_VERSION=$(echo "$TAG" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+') # 25.1
240217

241218
## Version Support
242219

243-
- **v2.0.0**: Current stable release (recommended)
244-
- **v1.1.1**: Previous release (will be deprecated 2026-01-16)
245-
- **v1.1.0**: Deprecated (use v1.1.1 or v2.0.0)
246-
- **v1.0.0**: Deprecated (use v2.0.0)
220+
- **v1.1.2**: Current stable release (recommended) - Bug fixes
221+
- **v1.1.1**: Previous release (deprecated - contains critical bugs)
222+
- **v1.1.0**: Deprecated (use v1.1.2)
223+
- **v1.0.0**: Deprecated (use v1.1.2)
247224

248225
## Support
249226

0 commit comments

Comments
 (0)