The reproducible build OOM-killed the Gradle daemon ('daemon disappeared
unexpectedly') mid flutter-build-apk on the shared runner. The app's
gradle.properties reserves -Xmx8G+4G metaspace (~12G), and the fdroid
build also compiles tesseract4android from source first (its daemon
lingers), so combined peak RAM trips the OS OOM-killer under contention
(the same build succeeded on a quieter host earlier). Scope the fix to
the fdroid build (don't touch the committed 8G the play/local builds
rely on): run tesseract's gradle with --no-daemon so it frees memory
before the app build, and append a lower -Xmx4g + org.gradle.daemon=false
override to gradle.properties in prebuild (last-key-wins; F-Droid runs
the same steps and memory settings don't change output bytes, so it stays
reproducible).
142 lines
6.1 KiB
YAML
142 lines
6.1 KiB
YAML
Categories:
|
|
- Inventory
|
|
- Market & Price
|
|
- Science & Education
|
|
License: AGPL-3.0-or-later
|
|
AuthorName: Comunes
|
|
AuthorWebSite: https://comunes.org
|
|
WebSite: https://tane.comunes.org
|
|
SourceCode: https://git.comunes.org/comunes/tane
|
|
IssueTracker: https://git.comunes.org/comunes/tane/issues
|
|
Translation: https://translate.comunes.org/projects/tane
|
|
|
|
AutoName: Tane
|
|
|
|
RepoType: git
|
|
Repo: https://git.comunes.org/comunes/tane.git
|
|
|
|
# Reproducible, developer-signed: F-Droid rebuilds each split and, if it matches
|
|
# our own signed APK on the git.comunes.org release byte-for-byte, publishes OUR
|
|
# APK (same signature as the Play build). Value is the SHA-256 of the tane-upload
|
|
# signing certificate (public).
|
|
AllowedAPKSigningKeys: ddfae432091b8248a8a4a1b353487fa626301f4357ef835e94ec312f69418e38
|
|
|
|
Builds:
|
|
- versionName: 0.1.9
|
|
versionCode: 111
|
|
commit: v0.1.9
|
|
subdir: apps/app_seeds
|
|
output: build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk
|
|
binary: https://git.comunes.org/comunes/tane/releases/download/v%v/app-armeabi-v7a-release.apk
|
|
srclibs:
|
|
- flutter@stable
|
|
- tesseract4android@4.9.0
|
|
prebuild:
|
|
- export flutterVersion=$(sed -n -E 's,.*cirruslabs/flutter:([0-9.]+).*,\1,p'
|
|
../../.forgejo/workflows/release.yml | head -1)
|
|
- '[[ $flutterVersion ]]'
|
|
- git -C $$flutter$$ checkout -f $flutterVersion
|
|
- cd ../..
|
|
- export PUB_CACHE=$(pwd)/.pub-cache
|
|
- $$flutter$$/bin/flutter config --no-analytics
|
|
- $$flutter$$/bin/flutter pub get --enforce-lockfile
|
|
- "sed -i '/^buildscript {/,/^}/d' $PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-*/android/build.gradle"
|
|
- 'echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g" >> apps/app_seeds/android/gradle.properties'
|
|
- 'echo "org.gradle.daemon=false" >> apps/app_seeds/android/gradle.properties'
|
|
- cd apps/app_seeds
|
|
- $$flutter$$/bin/dart run slang
|
|
- $$flutter$$/bin/dart run build_runner build --delete-conflicting-outputs
|
|
scandelete:
|
|
- .pub-cache
|
|
build:
|
|
- export PUB_CACHE=$(cd ../.. && pwd)/.pub-cache
|
|
- pushd $$tesseract4android$$/tesseract4android
|
|
- gradle --no-daemon assembleStandardRelease
|
|
- popd
|
|
- cp
|
|
$$tesseract4android$$/tesseract4android/build/outputs/aar/tesseract4android-standard-release.aar
|
|
$PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-0.4.31/android/libs/tesseract4android-release.aar
|
|
- $$flutter$$/bin/flutter build apk --release --split-per-abi --target-platform=android-arm
|
|
|
|
- versionName: 0.1.9
|
|
versionCode: 112
|
|
commit: v0.1.9
|
|
subdir: apps/app_seeds
|
|
output: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
|
|
binary: https://git.comunes.org/comunes/tane/releases/download/v%v/app-arm64-v8a-release.apk
|
|
srclibs:
|
|
- flutter@stable
|
|
- tesseract4android@4.9.0
|
|
prebuild:
|
|
- export flutterVersion=$(sed -n -E 's,.*cirruslabs/flutter:([0-9.]+).*,\1,p'
|
|
../../.forgejo/workflows/release.yml | head -1)
|
|
- '[[ $flutterVersion ]]'
|
|
- git -C $$flutter$$ checkout -f $flutterVersion
|
|
- cd ../..
|
|
- export PUB_CACHE=$(pwd)/.pub-cache
|
|
- $$flutter$$/bin/flutter config --no-analytics
|
|
- $$flutter$$/bin/flutter pub get --enforce-lockfile
|
|
- "sed -i '/^buildscript {/,/^}/d' $PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-*/android/build.gradle"
|
|
- 'echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g" >> apps/app_seeds/android/gradle.properties'
|
|
- 'echo "org.gradle.daemon=false" >> apps/app_seeds/android/gradle.properties'
|
|
- cd apps/app_seeds
|
|
- $$flutter$$/bin/dart run slang
|
|
- $$flutter$$/bin/dart run build_runner build --delete-conflicting-outputs
|
|
scandelete:
|
|
- .pub-cache
|
|
build:
|
|
- export PUB_CACHE=$(cd ../.. && pwd)/.pub-cache
|
|
- pushd $$tesseract4android$$/tesseract4android
|
|
- gradle --no-daemon assembleStandardRelease
|
|
- popd
|
|
- cp
|
|
$$tesseract4android$$/tesseract4android/build/outputs/aar/tesseract4android-standard-release.aar
|
|
$PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-0.4.31/android/libs/tesseract4android-release.aar
|
|
- $$flutter$$/bin/flutter build apk --release --split-per-abi --target-platform=android-arm64
|
|
|
|
- versionName: 0.1.9
|
|
versionCode: 113
|
|
commit: v0.1.9
|
|
subdir: apps/app_seeds
|
|
output: build/app/outputs/flutter-apk/app-x86_64-release.apk
|
|
binary: https://git.comunes.org/comunes/tane/releases/download/v%v/app-x86_64-release.apk
|
|
srclibs:
|
|
- flutter@stable
|
|
- tesseract4android@4.9.0
|
|
prebuild:
|
|
- export flutterVersion=$(sed -n -E 's,.*cirruslabs/flutter:([0-9.]+).*,\1,p'
|
|
../../.forgejo/workflows/release.yml | head -1)
|
|
- '[[ $flutterVersion ]]'
|
|
- git -C $$flutter$$ checkout -f $flutterVersion
|
|
- cd ../..
|
|
- export PUB_CACHE=$(pwd)/.pub-cache
|
|
- $$flutter$$/bin/flutter config --no-analytics
|
|
- $$flutter$$/bin/flutter pub get --enforce-lockfile
|
|
- "sed -i '/^buildscript {/,/^}/d' $PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-*/android/build.gradle"
|
|
- 'echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g" >> apps/app_seeds/android/gradle.properties'
|
|
- 'echo "org.gradle.daemon=false" >> apps/app_seeds/android/gradle.properties'
|
|
- cd apps/app_seeds
|
|
- $$flutter$$/bin/dart run slang
|
|
- $$flutter$$/bin/dart run build_runner build --delete-conflicting-outputs
|
|
scandelete:
|
|
- .pub-cache
|
|
build:
|
|
- export PUB_CACHE=$(cd ../.. && pwd)/.pub-cache
|
|
- pushd $$tesseract4android$$/tesseract4android
|
|
- gradle --no-daemon assembleStandardRelease
|
|
- popd
|
|
- cp
|
|
$$tesseract4android$$/tesseract4android/build/outputs/aar/tesseract4android-standard-release.aar
|
|
$PUB_CACHE/hosted/pub.dev/flutter_tesseract_ocr-0.4.31/android/libs/tesseract4android-release.aar
|
|
- $$flutter$$/bin/flutter build apk --release --split-per-abi --target-platform=android-x64
|
|
|
|
AutoUpdateMode: Version
|
|
UpdateCheckMode: Tags v[\d.]+
|
|
VercodeOperation:
|
|
- '%c * 10 + 1'
|
|
- '%c * 10 + 2'
|
|
- '%c * 10 + 3'
|
|
UpdateCheckData:
|
|
apps/app_seeds/pubspec.yaml|version:\s*[\d.]+\+(\d+)|apps/app_seeds/pubspec.yaml|version:\s*([\d.]+)\+
|
|
CurrentVersion: 0.1.9
|
|
CurrentVersionCode: 113
|