Automated Windows 10/11 deployment for X9.cz MSP clients
Find a file
X9 Dev d30767ef8b
Some checks failed
release / build-and-release (push) Failing after 32s
fix: comprehensive reliability and robustness improvements
Critical fixes:
- Fix resume mode: StepsByIDs returned Enabled=false, all resume steps
  would be SKIPPED (deployment could never resume after reboot)
- Add reboot loop protection: per-step retry counter (max 5) prevents
  infinite reboot cycles when a step always exits with code 9
- Block reboot when state.Save() fails in resumePhase (prevents state
  loss leading to full restart from scratch)
- Atomic state file write (write-to-tmp + rename) prevents JSON
  corruption on BSOD/power loss mid-write
- Script watchdog: kills scripts after 30 min of no output (resets on
  each line, so active long-running scripts are never killed)
- Fix copyFile: check Close() error explicitly instead of deferred
  close that silently drops flush errors (e.g. disk full)

High severity:
- Cleanup() now logs errors instead of silently ignoring them
- Email report: 3 retries with backoff + always saves C:\X9\report.html
- Winget parallel jobs: 10 min timeout, kill hung jobs
- UCPD stop verification: 2s wait + state check before PDF association
- Atera installer: /qn -> /qb so MFA window can appear
- GVLK activation: match by EditionID (registry, not localized) instead
  of fragile OS caption string matching

Medium severity:
- Default profile hive unload: retry loop (5 attempts, increasing delay)
- LayoutModification.xml: UTF-8 without BOM (PS 5.1 Set-Content adds BOM)
- Set-Reg SYSTEM task: try/finally ensures temp file + task cleanup
- Windows Update: @($available).Count for PS 5.1 single-result edge case
- config.json: add missing kmsServer field in activation section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-28 11:49:43 +02:00
.claude chore: save Claude Code conversation history + ignore runtime artifacts 2026-04-16 17:21:49 +02:00
.forgejo/workflows ci: update deploy.json on web after each release via docker exec 2026-04-21 09:59:47 +02:00
assets fix: revert Atera to download approach, remove bundled MSI 2026-04-17 13:43:12 +02:00
cmd/xetup feat: state machine for reboot-resume across Windows Update cycles 2026-04-16 17:09:53 +02:00
config fix: comprehensive reliability and robustness improvements 2026-04-28 11:49:43 +02:00
docs PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
internal fix: comprehensive reliability and robustness improvements 2026-04-28 11:49:43 +02:00
scripts fix: comprehensive reliability and robustness improvements 2026-04-28 11:49:43 +02:00
tests fix: workflow audit - config parsing, step ordering, cleanup 2026-04-17 12:21:41 +02:00
tools PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
web feat(03): disable hibernation, Smart App Control; rework Edge config 2026-04-27 17:53:07 +02:00
.gitignore chore: save Claude Code conversation history + ignore runtime artifacts 2026-04-16 17:21:49 +02:00
CLAUDE.md docs: add Forgejo push command to CLAUDE.md 2026-04-17 14:01:43 +02:00
config-editor.hta PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
docker-compose.yml PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
embed.go PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
go.mod Replace Fyne GUI with Walk (Win32 native, no OpenGL) 2026-04-16 14:49:41 +02:00
go.sum Replace Fyne GUI with Walk (Win32 native, no OpenGL) 2026-04-16 14:49:41 +02:00
heal.sh feat: auto-deploy web on git pull + deploy SHA in spec footer 2026-04-16 15:52:41 +02:00
Remove-ClaudeCode.ps1 PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
review.html PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
Run.cmd PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
runner-config.yml PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
Setup-ClaudeCode.ps1 PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
setup.ps1 PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
setup.sh PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
SPEC.md feat(03): disable hibernation, Smart App Control; rework Edge config 2026-04-27 17:53:07 +02:00
xetup.exe PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00