Commit Graph
23 Commits
Author SHA1 Message Date
Nizz05andClaude Opus 5 1eb089f6b5 ci(gitea): strip native libs with a native llvm-strip so APKs are not 15x too big
Build Android APK / Build Release APKs (push) Successful in 16m29s
AGP's stripReleaseDebugSymbols failed silently on the ARM64 runner because
the NDK r28 x86_64 llvm-strip cannot load libz.so.1 under QEMU, leaving the
unstripped libflutter.so (165 MB per ABI) in the APKs (universal 521 MB).

Pre-install the NDK version Flutter expects via sdkmanager and replace its
llvm-strip/llvm-objcopy with Ubuntu's native arm64 LLVM tools, which strip
any ELF target without emulation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 00:18:48 +02:00
Nizz05andClaude Opus 5 744def72fd ci(gitea): use QEMU 10 for x86_64 emulation and stop masking build failures
Build Android APK / Build Release APKs (push) Successful in 17m46s
Flutter 3.47's gen_snapshot calls pthread_getattr_np(), which crashes the
QEMU 8.2.2 shipped by Ubuntu 24.04 ("QEMU internal SIGSEGV {code=MAPERR,
addr=0x20}", qemu#2170, fixed in 8.2.3/9.0). Install the static qemu-x86_64
from Debian trixie's qemu-user package (sha1-pinned) over the apt binary.

The build steps swallowed non-zero exit codes with an `|| { find ... }`
fallback, so the job turned green without producing any APK. Run the
builds plainly, fail "Organize Artifacts" unless all four APKs exist and
set if-no-files-found: error on the uploads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 23:16:40 +02:00
Nizz05andClaude Opus 5 1c66c31f6d ci(gitea): run Flutter SDK switch step under bash (dash has no pipefail)
Build Android APK / Build Release APKs (push) Successful in 6m18s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 22:59:25 +02:00
Nizz05andClaude Opus 5 df34d66d38 build: upgrade to Flutter 3.47.4 (AGP 9.1 / Gradle 9.3, iOS 15 + UIScene), refresh deps and CI
Build Android APK / Build Release APKs (push) Failing after 1m7s
Flutter 3.24.5 -> 3.47.4 with the matching toolchain changes:

- pubspec: Dart ^3.11, Firebase core 4 / auth 6 / firestore 6 / storage 13,
  drop unused image_cropper, logging, change_app_package_name,
  pdf_widget_wrapper; pin path_provider_android <2.3 (needs NDK/CMake, not
  feasible on the ARM64 Gitea runner)
- Dart: CardTheme -> CardThemeData, replace deprecated withOpacity,
  Matrix4.scale, DropdownButtonFormField.value
- iOS: deployment target 15.0, UIScene lifecycle (AppDelegate/Info.plist),
  untrack stale Podfile.lock, add LaunchImage asset set
- Android: Gradle 9.3.1, AGP 9.1.0, Kotlin 2.4.0, google-services 4.5.0,
  layout.buildDirectory instead of removed Project.buildDir, remove manifest
  package attribute and duplicate MainActivity, kotlin.incremental=false
- CI: pin FLUTTER_VERSION in both workflows; iOS on macos-26 with SwiftPM
  disabled (CocoaPods only); Gitea job keeps cirruslabs 3.44.0 as base image
  (images discontinued) and switches the bundled Flutter SDK by git tag

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 22:45:30 +02:00
Nizz05 85556dabb4 fix(deps): bump flutter to 3.24.5 across CI and update pdf_widget_wrapper to 1.0.4
Build Android APK / Build Release APKs (push) Successful in 5m1s
2026-09-16 00:13:20 +02:00
Nizz05 1420d0a113 feat(ci): restore universal APK, set 7-day retention for artifacts, and clean workspace to save storage 2026-09-14 10:07:15 +02:00
Nizz05 adc65e056d feat(ci): build only 3 split APKs, upload individual artifacts, and publish unzipped APKs to Gitea Releases 2026-09-14 09:55:04 +02:00
Nizz05 ab9b22fc4a fix(ci): use actions/upload-artifact@v3 for Gitea compatibility 2026-09-14 09:31:34 +02:00
Nizz05 2917f93323 fix(build): route subprojects buildDir to ../build so Flutter CLI finds generated APKs 2026-09-14 09:17:01 +02:00
Nizz05 7f4218b0a2 fix(ci): strip LD_PRELOAD on child QEMU execution and remove rename watcher 2026-09-14 00:27:57 +02:00
Nizz05 e44fcf1223 fix(ci): extract QEMU interceptor to dedicated C file to fix YAML indentation 2026-09-14 00:15:20 +02:00
Nizz05 f446fd044b fix(ci): inject LD_PRELOAD interceptor to redirect all x86_64 ELF executions to QEMU 2026-09-14 00:13:23 +02:00
Nizz05 9226ce4b33 fix(ci): direct AAPT2 userspace wrapping with QEMU to bypass host binfmt and FEX 2026-09-14 00:03:12 +02:00
Nizz05 1acbeddc79 fix(ci): mount binfmt_misc and cleanly register QEMU x86_64 for AAPT2 on ARM64 2026-09-13 23:51:32 +02:00
Nizz05 46dc3368c6 fix(ci): unregister host FEX from binfmt and wrap FEXInterpreter with QEMU for AAPT2 2026-09-13 23:34:50 +02:00
Nizz05 b443213224 ci: enable privileged container mode and binfmt support for aapt2 execution 2026-09-13 23:07:19 +02:00
Nizz05 ca59dff4db fix(ci): install x86_64 glibc cross libraries for qemu user emulation 2026-09-13 22:44:53 +02:00
Nizz05 f6f3a5ff06 fix(ci): correct YAML indentation in workflow file 2026-09-13 22:39:19 +02:00
Nizz05 ac395dad07 fix(ci): bridge Flutter linux-arm64 gen_snapshot using qemu wrapper 2026-09-13 22:30:22 +02:00
Nizz05 5969d23a98 fix(ci): track gradlew and wrapper jar, ensure executable permissions 2026-09-13 22:11:52 +02:00
Nizz05 6b9703d79c fix(ci): install official Node.js 20 binary for ES2022 syntax support 2026-09-13 22:06:48 +02:00
Nizz05 91c2e9659b fix(ci): install nodejs in build container before checkout action 2026-09-13 22:03:22 +02:00
Nizz05 0aa5fda335 ci: add Gitea Actions workflow to build and upload APK artifacts 2026-09-13 21:44:01 +02:00