3.4 KiB
3.4 KiB
| name | description | type |
|---|---|---|
| Xetup v0.9 release and CI/ops findings as of 2026-06-03 | What shipped in v0.9 (bloatware toggles), how releases really trigger, Forgejo UI customization, dev tooling | project |
v0.9 shipped (2026-06-03)
Tag v0.9, named non-prerelease, signed xetup.exe published. Also on rolling latest.
Bloatware feature toggles (step 01)
The bloatware step now has three independent GUI checkboxes (in runner.StepFeatures()
under bloatware, defaults in config.go + config.json):
standardBloatware(default on) - the bulk AppX/capability/feature list.removeNewOutlook(default on) - the new Outlook for Windows app (Microsoft.OutlookForWindows). Classic Outlook from M365 is a Win32 app, never touched - only the bundled UWP new Outlook is.removeSnippingTool(default OFF) - Snipping Tool is now KEPT by default. Spans three list entries:Microsoft.ScreenSketch(the modern app), the legacy capabilityMicrosoft.Windows.SnippingTool, and the optional featureMicrosoft-SnippingTool. Kept like Calculator (common productivity tool).
Gating logic is Test-RemovalAllowed in scripts/01-bloatware.ps1: each item is
governed by its own flag, so toggles are independent (a single feature off does not
disable the whole step).
Latent bug fixed
The Go Config struct had no Bloatware field, so the GUI's runtime-config
regeneration silently dropped bloatware.keepPackages - the script's keep-list merge
was effectively dead when run via xetup.exe. Added the field.
CI / release mechanics (important)
release.ymltriggers on push tomainONLY for paths**.go,scripts/**,assets/**,embed.go,app.manifest,release.yml. Docs-only /web/**pushes do NOT trigger a build.- Version tags release via
workflow_dispatchon the tag ref, NOT a plain tag push. AvX.Ytag usually points at a docs-only "release X.Y" commit, which thepathsfilter blocks - sogit push <tag>does nothing. Dispatch instead:POST /api/v1/repos/x9/xetup/actions/workflows/release.yml/dispatches {"ref":"vX.Y"}. This is how v0.8 and v0.9 were built.github.ref = refs/tags/vX.Y-> named release. - Release notes come from the matching
## [X.Y]section inCHANGELOG.md. Move the[Unreleased]content into a dated## [X.Y] - DATEsection before tagging.
Forgejo UI customization
- Top-left Forgejo brand logo (
#navbar-logo) is replaced with a back-link toxetup.x9.czviatemplates/custom/header.tmpl(CSS + small JS retargeting href). - Forgejo custom path is
GITEA_CUSTOM=/data/giteainside thexetup-forgejocontainer; templates live in thexetup_forgejo-datavolume (NOT git by itself). - Source is versioned in the repo at
deploy/forgejo/(mirror + README). Deploy =docker cpinto the container +docker restart xetup-forgejo(templates load at startup). Runner reconnects on its own.
Dev tooling
pwsh(PowerShell 7.6.2) is installed on the dev box (Debian 12) via the Microsoft apt repo. Use it for PS syntax/parse checks:[System.Management.Automation.Language.Parser]::ParseFile(...). Note: Windows-only cmdlets (Remove-AppxPackage, Get-WindowsCapability...) cannot run here.
Still open
- v0.9 /
latestare NOT smoke-tested on real Windows yet. Recommend VM test (snapshot -> run -> revert) before a technician deploys to a client. Revert path:git revert <sha>+ push (CI rebuildslatest).