Commit Graph
6 Commits
Author SHA1 Message Date
kawaandClaude Opus 5 f12fa03f1c ci: build and push the image with plain docker
Drops docker/login-action, docker/setup-buildx-action and
docker/build-push-action. This is a single-platform build of one
Dockerfile, which dockerd's integrated BuildKit already does; the only
thing the actions added was buildx's docker-container driver, and
standing that up means pulling moby/buildkit and handing it the socket
for no gain.

docker login reads the token from stdin rather than -p, and a logout step
runs with always() so a failed build does not leave credentials in
~/.docker/config.json on this persistent runner.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 16:00:26 +02:00
kawaandClaude Opus 5 d4f23f5b87 fix: actually generate the UTF-8 locale makensis needs
`locale-gen <name>` is an Ubuntu extension; plain Debian's locale-gen
takes no arguments and only reads /etc/locale.gen, so the previous fix
generated nothing and makensis kept aborting with exit 84 / "FATAL: main
argv conversion failed!" under the runner's C/POSIX locale.

Write the entry into /etc/locale.gen, run locale-gen with no arguments,
and assert `locale -a` lists it — a missing locale now fails the install
step with a clear message instead of dying four minutes later inside
electron-builder.

build-release.ps1 sets LC_ALL/LANG itself before packaging a Windows
target on a Linux host, picking a real UTF-8 locale out of `locale -a`.
The electron-builder child then inherits it however the script was
started, including a runner that drops step env.

Also adds a non-fatal probe step that runs the cached makensis with
-VERSION under en_US.UTF-8 and under C, so a failure that is *not* the
locale is distinguishable from one that is without another blind fix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 15:42:43 +02:00
kawaandClaude Sonnet 5 f5ad546c62 fix: generate en_US.UTF-8 for makensis, C.UTF-8 needs glibc 2.35+
C.UTF-8 is a glibc built-in only from 2.35 (Debian 12+) onward; on an
older Debian runner setlocale() silently falls back to POSIX, which is
exactly the "main argv conversion failed!" crash from before. Install
locales and generate en_US.UTF-8 explicitly instead, which works on any
Debian version.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 15:19:32 +02:00
kawaandClaude Sonnet 5 52eb14b3c8 fix: Wine locale crash and rename secrets off the GITEA_ prefix
C.UTF-8 for the win/AppImage build step: Wine's makensis was aborting
with ERR_ELECTRON_BUILDER_CANNOT_EXECUTE / "main argv conversion
failed!" under the runner's default C/POSIX locale.

Gitea rejects secret names starting with GITEA, so the registry/API
credentials are now BUILD_USER/BUILD_TOKEN.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 15:12:08 +02:00
kawaandClaude Sonnet 5 1843b38915 fix: target the docker-build runner label, drop snap for pwsh install
The registered Gitea Actions runner is a persistent Debian host labeled
docker-build, not ubuntu-latest. Debian ships no snapd by default, so
swap the PowerShell bootstrap for Microsoft's portable linux-x64
tarball, which needs only curl/tar.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 14:54:49 +02:00
kawaandClaude Sonnet 5 2927018af1 feat: add CI release workflow for installers, AppImage and Docker
Gitea Actions workflow triggered on tag push or manual dispatch: builds
the Windows NSIS/portable installers and Linux AppImage, builds+pushes
the Docker image, then creates/updates the Gitea release with a
changelog-compare link as the body and all artifacts attached. Flatpak
stays local-only (build-release.ps1) since flatpak-builder's sandbox
isn't reliable on a containerized Actions runner.

Also fixes build-release.ps1: the win.signExecutable=false override
only applied when cross-building via the WSL path, not to a genuine
native-Linux build of the "win" target (the CI's case).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 14:42:47 +02:00