Branch: m9-packaging → main
M9 is "icons, version stamping, builds for the three systems, README with install notes, licence". This PR covers everything except the builds themselves. Those depend on which machines (or GitHub Actions) will build for Windows, Linux and macOS, still to be decided.
tools/icon, so it can be changed and regenerated: go run ./tools/icon build/appicon.png.
build/windows/icon.ico and build/darwin/icons.icns are generated from it, as is the macOS disk-image file icon.go run ./tools/icon -dmg …); Finder labels icons there in dark text.build/appicon.icon) and its compiled build/darwin/Assets.car. Both showed the Wails logo, and Assets.car takes precedence over icons.icns on current macOS. The bundle can only be compiled on macOS 26 with Xcode 26, so the icons task now uses appicon.png alone.wails3 build, wails3 package) stamp the version and the commit.
-dirty if the working tree had uncommitted changes). wails3 dev still shows dev.
APP_VERSION in Taskfile.yml, kept in step with version in build/config.yml; the commit from git describe --always --dirty --exclude "*". So it doesn't depend on tags.chmod +x and the GTK 4 / WebKitGTK 6.0 libraries on Linux. Also how versions are stamped and how the icon is made.build/ios folder; filled the MSIX manifests' "My Company" / "My Product" placeholders with bajdev / mpckit.Change after the first laptop run (bajdev, 2026-11-12: the Windows build runs): About showed the commit id instead of 0.5.0, because the first version of the stamping used git describe --tags and there are no tags yet. It now shows the version from the Taskfile, with the commit on its own "Build" line.
Header change (bajdev, 2026-11-12): the "mpckit" title next to the project name isn't needed (the window title already says mpckit). The visible title is removed, so "Project name" and its input start at the left. The title stays as a heading for screen readers. With the extra room, the "Project name" label now shows at every window width (it used to hide below 1100px).
On the server:
go vet and go test ./... pass.wails3 task --list-all). A dry run of the Windows build shows -X …internal/app.Version=0.5.0 -X …internal/app.Commit=<commit> in the go build flags.-X …Version=v0.5.0-check contains that string.tools/icon regenerates build/appicon.png byte for byte.On the laptop:
wails3 build produces bin\mpckit.exe. Explorer, the taskbar and the window show the new icon (Windows caches icons; if Explorer still shows the old one, rename the file or sign out and back in).bin\mpckit.exe and open About: "Version 0.5.0", then "Build ".
mpckit.exe → Properties → Details: product name mpckit, version 0.5.0, copyright (c) 2026 bajdev.npm run check in frontend: 0 errors, 0 warnings.After this is merged: tag v0.5.0 on the merge commit, build from the tag on each system (Windows laptop, Linux desktop, and a Mac when one is available), and check each build runs and shows "Version 0.5.0" in About. That is M9's done-when. If the repo is mirrored to GitHub, an Actions workflow could build all three instead.