Automated Windows 10/11 deployment for X9.cz MSP clients
Find a file
X9 Dev eabf207e3f
All checks were successful
release / build-and-release (push) Successful in 43s
feat(report): file failed runs as Forgejo issues + attach zipped log to email
On any ERROR step, xetup now files an issue in the private x9/xetup-runs
tracker (title "FAILED <host> - <version> - <date>", label "failed", body =
step table + tail-capped Deploy.log) via the xetup-bot write:issue token,
baked in through -ldflags. Best-effort and non-blocking; successful runs stay
silent and the email is the fallback.

The deployment email now attaches the zipped Deploy.log and links to this
run's issue plus the run history filtered to this machine.

- internal/buildinfo: ldflags-injected Version + RunsToken
- internal/runreport: issue filing, retries, tail-capped log
- internal/report: multipart/mixed with zip attachment, tracker links;
  buildMessage split out and covered by report_test.go
- release.yml: inject Version (tag/SHA) + FORGEJO_RUNS_TOKEN via ldflags

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 16:30:08 +02:00
.claude memory: rewrite project_xetup_state to current state (2026-06-03) 2026-06-03 16:45:06 +02:00
.forgejo/workflows feat(report): file failed runs as Forgejo issues + attach zipped log to email 2026-07-28 16:30:08 +02:00
assets fix(backinfo): background color is COLORREF, revert to 4668194 (#223B47) 2026-06-02 14:25:12 +02:00
cmd/xetup feat: state machine for reboot-resume across Windows Update cycles 2026-04-16 17:09:53 +02:00
config feat(bloatware): toggleable Outlook/Snipping removal, keep Snipping by default 2026-06-03 16:27:34 +02:00
deploy/forgejo deploy(forgejo): version the navbar back-link header.tmpl 2026-06-03 16:39:48 +02:00
docs PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00
internal feat(report): file failed runs as Forgejo issues + attach zipped log to email 2026-07-28 16:30:08 +02:00
scripts feat(bloatware): keep Microsoft.Windows.Photos 2026-06-05 14:56:36 +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(bloatware): keep Microsoft.Windows.Photos 2026-06-05 14:56:36 +02:00
.gitignore ci: sign xetup.exe via Azure Trusted Signing (jsign) 2026-05-29 15:00:12 +02:00
CHANGELOG.md feat(report): file failed runs as Forgejo issues + attach zipped log to email 2026-07-28 16:30:08 +02:00
CLAUDE.md feat(report): file failed runs as Forgejo issues + attach zipped log to email 2026-07-28 16:30:08 +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 fix(compose): make web/data writable for deploy.json updates 2026-05-29 17:57: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 ci(runner): bind-mount docker socket via container.options 2026-05-29 17:55:50 +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(bloatware): toggleable Outlook/Snipping removal, keep Snipping by default 2026-06-03 16:27:34 +02:00
xetup.exe PS scripts, web platform, Forgejo CI, xetup.exe launcher 2026-04-16 14:49:41 +02:00