mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 16:57:39 +00:00
Two red checks on this branch, from two unrelated causes.
1. `test-quartz-ios` — AddressableAuthorRelayLoaderSubAssembler moved into
commonMain still calling `synchronized(lock)`. That resolves from
kotlin-stdlib-jvm with no import, so it compiles on Android/JVM and only
fails at `:commons:compileKotlinIosSimulatorArm64`. Swapped to
`KmpLock.withLock {}` (reentrant on every platform, and `withLock` is
inline so `commit()`'s early `return` still works).
The `verifyKmpPurity` gate missed it because it only forbade the
`kotlin.jvm.Synchronized` *annotation*, not the bare call. Added
`synchronized(` to the forbidden list in both :commons and :quartz so the
next one fails in seconds instead of at the iOS compile step.
2. `release-deb-launch (ubuntu-24.04-arm)` — pre-existing infra break, not
from this branch (same failure on other PRs since ~Aug 5).
libskiko-linux-arm64.so needs libEGL.so.1 and the runner has no libegl1,
so the app died at startup. create-release.yml already fixes this via
scripts/add-deb-libegl-dep.sh; the smoke test never adopted it. Added that
step, and switched the install from `dpkg -i` (which does not resolve
dependencies) to `apt-get install ./x.deb` so the declared libegl1 is
actually pulled in — this now exercises the same artifact release ships.
Verified: :commons:compileKotlinIosSimulatorArm64, both verifyKmpPurity gates
(and confirmed the new pattern fails when the bug is reintroduced),
:commons:jvmTest, :amethyst:testPlayDebugUnitTest for the assembler test, and
the .deb libegl mechanism end-to-end in an arm64 ubuntu:24.04 container.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>