Skip to content

heronin: build the Android app - #38

Merged
fizzy-pm[bot] merged 1 commit into
mainfrom
heronin/apk-build
Nov 11, 2026
Merged

fizzy-pm[bot] merged 1 commit into
mainfrom
heronin/apk-build

Conversation

@fizzy-publish

@fizzy-publish fizzy-publish Bot commented Nov 11, 2026

Copy link
Copy Markdown

heronin: build the Android app

Part of fizzyedit/work#1191

In plain words

Heronin can now be packaged as an Android app through fizzy's Android support.
The person building it can supply the server address without publishing that address.

What changes

  • Android packages use the Heronin name and application identity.
  • Native apps accept a server address supplied when building; the desktop environment setting takes precedence.
  • Android packaging skips the host test and server setup.
    try fizzy.addWebSteps(b, fizzy_dep);
    try fizzy.addApkSteps(b, fizzy_dep);

What you will notice

The Android package is labelled Heronin. Phone startup remains unverified.

How we know it works

Formatting and all six requested build gates passed, including 129 tests.
The native build with zig build -Dserver-url=https://example.invalid also passed.
Android acceptance evidence follows in the technical summary.

How this serves fizzy

This extends fizzy's platform support
by packaging Heronin for Android through the shared build.

For agents: technical summary

Goal

Build Heronin's APK and provide the native server address at build time.

What changed and why

Pin fizzy to d9d816db9758beed7bfc01dbaa29fbc894db7370, the main commit adding
android to the package paths. Forward SDK and keystore options, set the package
identity and label, add APK steps, and stop before the host-only build graph.
Add heronin_build options and select environment, build option, then local fallback.

Source counts from git diff --numstat HEAD: ADDED non-test lines 31;
added+deleted 35. No new source files. Delivery artifacts are excluded per R5.
Both counts meet the revised limits of 45 added and 50 total.

How it was verified

  • zig fmt --check build.zig tools tests/check_public model app server: passed.
  • zig build: 67/67 steps succeeded.
  • zig build server: 3/3 steps succeeded.
  • zig build test: 67/67 steps succeeded; 129/129 tests passed.
  • zig build web: 55/55 steps succeeded.
  • zig build check-public: 3/3 steps succeeded.
  • zig build -Dserver-url=https://example.invalid: 67/67 steps succeeded.

The exact acceptance build initially failed because the default debug keystore
was absent. With a temporary debug keystore supplied through the requested option:

JAVA_HOME=/opt/android-jdk PATH=/opt/android-jdk/bin:$PATH zig build apk \
  -Dtarget=aarch64-linux-android -Dandroid-sdk=/opt/android-sdk \
  -Dandroid-keystore=/tmp/heronin-debug.keystore
# Build Summary: 60/60 steps succeeded
/opt/android-sdk/build-tools/35.0.0/aapt dump badging zig-out/heronin.apk
package: name='dev.fizzy.heronin' versionCode='' versionName='' platformBuildVersionName='15' platformBuildVersionCode='35' compileSdkVersion='35' compileSdkVersionCodename='15'
application-label:'Heronin'
ls -l zig-out/heronin.apk
-rw-r--r-- 1 fizzy-slot-codex fizzy-slot-codex 16724524 Nov 11 16:22 zig-out/heronin.apk

GitHub fetching was blocked by network access. The pin was obtained from the
locally available fizzy main history using git archive and zig fetch; no upstream
source was changed. The package cache archive needed its duplicate root flattened
before Zig could read the package with its declared hash.

Not done / follow-ups

UNVERIFIED: APK startup on the lab phone; Ops A7 smoke follows K10b.
Phone sign-in, native import, Drive, app icon, release key, Play listing,
install script, CI and server changes remain outside this job.

Part of fizzyedit/work#1191

Signed-off-by: fizzy pop-os-codex-2 <slot+pop-os-codex-2@fizzy.invalid>
@fizzy-pm
fizzy-pm Bot merged commit c5e20f2 into main Nov 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants