fix: unbreak the APK build (malformed manifest XML) and CI (missing ALSA headers) #46
No reviewers
Labels
No labels
agent
agent:ci
agent:done
agent:failed
agent:needs-input
agent:refined
agent:refining
agent:running
agent:skip
autonomous
driven
local
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeroen/cartopolis!46
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/manifest-xml-comment"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two faults that only surfaced once #45 landed, both of the same shape: a cheap gate placed first was hiding an expensive one behind it.
The manifest was not well-formed XML.
deploy-android.ymlcompiled the whole Bevy stack foraarch64-linux-android— thirteen minutes — and then aapt2 refusedAndroidManifest.xml. Two separate faults, both added while wiring the splash theme and the version fallbacks:--version-codewritten inside an XML comment. A double hyphen is illegal there.Neither is exotic, and both are invisible to a human reader — the file looks entirely reasonable. What made them expensive is where they were caught. So
build-apk.shnow checks the manifest and everything underres/for well-formedness beforecargo ndkruns: one second instead of sixteen minutes. Verified by reintroducing the original comment and watching the guard reject it.CI has been failing on
alsa-syssince #43.bevy_audiopulls it, its build script is apkg-configcall, andviberfox-ci:latesthas noalsa.pc— so both jobs died before compiling a line of this project. Nobody saw it becausecargo fmt --checkwas the first step and was failing. #45 moved fmt last, which is what surfaced this.Installed as a step rather than baked into the image only because the image lives in another repo;
deploy-android.ymlinstalls its JRE the same way. Building CI--no-default-featureswould have been the cheap fix and the wrong one — it would leave every line behindcfg(feature = "audio")uncompiled, which is exactly the rot the wasm and Android lanes exist to prevent.Combined into one PR so the APK deploy runs once rather than twice.