Skip to content

Release: build Windows again, push the version bump, survive Cloudflare - #78

Merged
professorDeveloper merged 3 commits into
masterfrom
fix/release-windows-admin
Nov 14, 2026
Merged

professorDeveloper merged 3 commits into
masterfrom
fix/release-windows-admin

Conversation

@professorDeveloper

Copy link
Copy Markdown
Owner

The v3.2.1 run (43586788143) broke in three places:

  • Windows did not build.
  • The admin panel was not updated.
  • The version was never written back to the repo.

Windows. Broken since #46 added liquid_glass_renderer; v3.2.1 is the second release without Windows.

  • Cause:
    • Its shaders cannot be compiled for Skia. Flutter then compiles them without Skia and carries on, but prints the Skia compiler's output (error: 58: loop index ...) as a warning.
    • MSBuild treats any line of that shape as an error, and fails flutter_assemble with code -1 even though the tool exited 0.
    • Linux prints the same lines and passes.
  • Fix: flutter_assemble now runs through windows/flutter/tool_backend.ps1. It rewords "error" inside that warning only and keeps the tool's exit code, so a shader that really fails still fails the build. The glass never runs on desktop anyway (usesFlutterGlass).
  • New CI: windows-ci.yml builds Windows on changes that can break it (pubspec, windows/, this workflow). This PR runs it, which is the proof the fix works.

Version push.

  • Cause: the checkout used the RELEASE_PAT secret, which GitHub now refuses ("Permission to professorDeveloper/sozo.git denied", 403).
  • Fix: the bump is pushed with GITHUB_TOKEN; the ruleset does not require a PR.
  • pubspec.yaml is set to 3.2.1+9, the version that shipped. Without it, the next release would start from 3.2.0+8.

Admin panel.

  • Cause: Cloudflare answers GitHub's runners with a "Just a moment..." challenge (403). From other machines the same requests get through.
  • Fix: a challenge now marks the CDN/updater step deferred with a warning instead of failing the run. Real errors still fail it.
  • The release gets Sozo-v<version>-release.json (version, build, sha, notes). The backend uses it to take a published release from GitHub by itself: it uploads the APKs to R2, adds the download rows and updates the in-app updater (sozo-backend PR).
  • The Telegram footer says the server will update it after Publish.

platforms: windows. Rebuilds only Windows into an existing release. The SHA256SUMS of the files it did not rebuild are kept, by merging with the published list.

After merging: run Release → Telegram with bump: none, platforms: windows, release: draft, announce: off. That adds Windows to the v3.2.1 draft without rebuilding macOS.

Windows: since #46 the release build failed. liquid_glass_renderer's shaders
cannot be compiled for Skia; Flutter then compiles them without Skia and goes
on, but prints the Skia compiler's "error: 58: ..." lines as a warning, and
MSBuild fails the step on any line of that shape although the tool exited 0.
flutter_assemble now runs through windows/flutter/tool_backend.ps1, which
rewords "error" inside that warning only and keeps the tool's exit code. The
glass never runs on desktop. A Windows build now runs in CI on changes that
can break it.

Version: the bump was pushed with the RELEASE_PAT secret, which GitHub now
refuses (403), so 3.2.1+9 was never written back. It is pushed with
GITHUB_TOKEN, and pubspec.yaml is set to 3.2.1+9, the version that shipped.

Admin: Cloudflare answers GitHub's runners with a challenge page, so the CDN
upload failed with a 403. That is now a warning, and the backend takes a
published release from GitHub itself (sozo-backend). The release carries
Sozo-v<version>-release.json with the build number for it.

platforms: windows rebuilds only Windows into an existing release, and keeps
the checksums of the files it did not rebuild.
@professorDeveloper
professorDeveloper merged commit 3b6c4a6 into master Nov 14, 2026
5 checks passed
@professorDeveloper
professorDeveloper deleted the fix/release-windows-admin branch November 14, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant