feat(release): automate store publishing (fastlane supply + GitLab CI) and F-Droid recipe
- fastlane: Appfile/Fastfile/Gemfile with deploy_play lane (AAB -> Play internal track) - CI: tag-gated build:android (signed AAB/APK from CI secrets) + deploy:play jobs - F-Droid: fdroiddata build recipe at docs/fdroid/org.comunes.tane.yml - Play compliance: Data Safety / content-rating answer sheet (docs/legal/internal) - docs/release.md: automated tag-triggered flow, dedicated tane-upload keystore - pubspec: description now mentions the market, not just the inventory
This commit is contained in:
parent
dc0d18562f
commit
fd6b9d5f0d
9 changed files with 361 additions and 28 deletions
62
docs/fdroid/org.comunes.tane.yml
Normal file
62
docs/fdroid/org.comunes.tane.yml
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# F-Droid metadata for Tane (org.comunes.tane).
|
||||
#
|
||||
# This is the source of truth for the fdroiddata merge request. To submit:
|
||||
# 1. Fork https://gitlab.com/fdroid/fdroiddata
|
||||
# 2. Copy this file to metadata/org.comunes.tane.yml
|
||||
# 3. Validate locally: fdroid lint org.comunes.tane
|
||||
# fdroid build -v -l org.comunes.tane
|
||||
# 4. Open the MR.
|
||||
#
|
||||
# Prerequisites (see docs/release.md):
|
||||
# - The source repo below must be publicly clonable without auth.
|
||||
# - Each release is a signed git tag `v<version>` (UpdateCheckMode: Tags).
|
||||
# - F-Droid builds and signs the APK with ITS OWN key, so the F-Droid build
|
||||
# and the Google Play build have different signatures and cannot cross-update.
|
||||
#
|
||||
# NOTE: Flutter-on-F-Droid builds are finicky. Pin the Flutter version to the
|
||||
# developer toolchain (3.41.9) and re-run `fdroid build` after every bump. This
|
||||
# recipe accounts for the monorepo layout (pub workspace root at repo root, app
|
||||
# at apps/app_seeds) and the generated code (slang i18n + Drift via build_runner).
|
||||
|
||||
Categories:
|
||||
- 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
|
||||
|
||||
Builds:
|
||||
- versionName: 0.1.0
|
||||
versionCode: 1
|
||||
commit: v0.1.0
|
||||
subdir: apps/app_seeds
|
||||
sudo:
|
||||
- apt-get update
|
||||
- apt-get install -y git unzip xz-utils
|
||||
# Pin Flutter to the developer toolchain; keep in sync with .gitlab-ci.yml.
|
||||
- git clone --depth 1 -b 3.41.9 https://github.com/flutter/flutter.git /opt/flutter
|
||||
- git config --global --add safe.directory /opt/flutter
|
||||
output: build/app/outputs/flutter-apk/app-release.apk
|
||||
prebuild:
|
||||
- export PATH="/opt/flutter/bin:$PATH"
|
||||
- flutter config --no-analytics
|
||||
- flutter pub get
|
||||
# Generated sources: i18n (slang) then Drift/other codegen (build_runner).
|
||||
- dart run slang
|
||||
- dart run build_runner build --delete-conflicting-outputs
|
||||
build:
|
||||
- export PATH="/opt/flutter/bin:$PATH"
|
||||
- flutter build apk --release
|
||||
|
||||
AutoUpdateMode: Version v%v
|
||||
UpdateCheckMode: Tags
|
||||
CurrentVersion: 0.1.0
|
||||
CurrentVersionCode: 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue