Remove all F-Droid references and metadata

Co-authored-by: hossain-khan <99822+hossain-khan@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-11-20 00:48:00 +00:00
co-authored by hossain-khan
parent b002612d9c
commit f5e33c8781
9 changed files with 11 additions and 68 deletions
+1 -3
View File
@@ -125,7 +125,7 @@ All workflows are in `.github/workflows/`:
4. **version-management.yml** (Version Bumping)
- Manual workflow for updating app version
- Updates: `app/build.gradle.kts`, `metadata/ink.trmnl.android.yml`, changelogs
- Updates: `app/build.gradle.kts`, changelogs
- Run `./scripts/show_version_info.sh` locally to get current version
## Common Issues & Workarounds
@@ -159,7 +159,6 @@ All workflows are in `.github/workflows/`:
2. Use GitHub Actions workflow: `.github/workflows/version-management.yml`
3. Workflow updates:
- `app/build.gradle.kts` (versionCode, versionName)
- `metadata/ink.trmnl.android.yml` (F-Droid metadata)
- `fastlane/metadata/android/en-US/changelogs/{versionCode}.txt`
See `RELEASE_CHECKLIST.md` for complete release process.
@@ -224,7 +223,6 @@ gradle/ # Gradle wrapper JARs and version catalogs
.githooks/ # Git hooks
.idea/ # Android Studio settings
keystore/ # Debug and release keystores
metadata/ # F-Droid metadata
fastlane/ # Fastlane configuration for app store
project-resources/ # Design assets, PRD documents
scripts/ # Utility scripts (version info)
+2 -17
View File
@@ -1,5 +1,5 @@
# This GitHub Actions workflow handles version management for the trmnl-android project.
# It automates the process of updating version numbers, F-Droid metadata, and creating release PRs.
# It automates the process of updating version numbers and creating release PRs.
#
# 🔍 TIP: Run `scripts/show_version_info.sh` locally to display current versions and get suggestions
# for the next version number before running this workflow.
@@ -21,7 +21,7 @@ on:
required: true
type: string
git_tag:
description: 'Git tag for this release (defaults to v + version_name, used for F-Droid metadata)'
description: 'Git tag for this release (defaults to v + version_name)'
required: false
type: string
release_notes:
@@ -104,19 +104,6 @@ jobs:
sed -i "s/versionCode = [0-9]\\+/versionCode = ${{ inputs.version_code }}/g" app/build.gradle.kts
sed -i "s/versionName = \"[^\"]*\"/versionName = \"${{ inputs.version_name }}\"/g" app/build.gradle.kts
echo "✓ Updated app/build.gradle.kts with version ${{ inputs.version_name }} (${{ inputs.version_code }})"
- name: Update F-Droid metadata file
run: |
if [ -f "metadata/ink.trmnl.android.yml" ]; then
sed -i "s/CurrentVersion: .*/CurrentVersion: ${{ inputs.version_name }}/g" metadata/ink.trmnl.android.yml
sed -i "s/CurrentVersionCode: [0-9]\\+/CurrentVersionCode: ${{ inputs.version_code }}/g" metadata/ink.trmnl.android.yml
sed -i "s/versionName: .*/versionName: ${{ inputs.version_name }}/g" metadata/ink.trmnl.android.yml
sed -i "s/versionCode: [0-9]\\+/versionCode: ${{ inputs.version_code }}/g" metadata/ink.trmnl.android.yml
sed -i "s/commit: .*/commit: ${{ env.GIT_TAG }}/g" metadata/ink.trmnl.android.yml
echo "✓ Updated metadata/ink.trmnl.android.yml with version ${{ inputs.version_name }} (${{ inputs.version_code }})"
else
echo "Warning: metadata/ink.trmnl.android.yml not found"
fi
- name: Create changelog file
run: |
@@ -140,7 +127,6 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
add-paths: |
app/build.gradle.kts
metadata/
fastlane/
commit-message: "chore: prepare release ${{ inputs.version_name }}"
title: "Prepare release ${{ inputs.version_name }}"
@@ -152,7 +138,6 @@ jobs:
## 🔄 Changes Made:
- Updated app/build.gradle.kts
- Updated F-Droid metadata
- Created changelog file
## ⚡ Trigger CI Workflows (Do This First):
+4 -4
View File
@@ -144,7 +144,7 @@ app/src/main/java/ink/trmnl/android/
## Build Types (Not Flavors)
**Note:** This project uses only build TYPES (debug/release), NOT product flavors. There's no separate F-Droid flavor despite what some older docs might suggest.
**Note:** This project uses only build TYPES (debug/release), NOT product flavors.
**Debug:**
- `buildConfigField("Boolean", "USE_FAKE_API", "true")`
@@ -158,14 +158,14 @@ app/src/main/java/ink/trmnl/android/
- Keystore env vars: `KEYSTORE_PASSWORD`, `KEY_ALIAS`
- Code shrinking: `isMinifyEnabled = true`, `isShrinkResources = true`
- ProGuard: `proguard-android-optimize.txt` + `proguard-rules.pro`
- F-Droid compatible: `dependenciesInfo.includeInApk = false`
- Privacy: `dependenciesInfo.includeInApk = false` (disables dependency metadata)
## Version Management
**DO NOT manually edit version numbers.** Use automated workflow:
- Check version: `./scripts/show_version_info.sh`
- Update workflow: `.github/workflows/version-management.yml`
- Updates: `app/build.gradle.kts`, `metadata/ink.trmnl.android.yml`, changelogs
- Updates: `app/build.gradle.kts`, changelogs
## CI/CD Workflows
@@ -203,7 +203,7 @@ app/src/main/java/ink/trmnl/android/
- **BYOS Support**: Supports custom server URLs for BYOS installations
- **Screen Wake Lock**: `FLAG_KEEP_SCREEN_ON` doesn't work reliably on e-Ink tablets due to aggressive battery optimization
- **Kotlin Version**: Capped at 2.1.10 due to Dagger 2.56.2 compatibility (see libs.versions.toml comment)
- **No Product Flavors**: Only debug/release build types exist (no F-Droid flavor)
- **No Product Flavors**: Only debug/release build types exist
## Copilot Instructions Context
-2
View File
@@ -78,8 +78,6 @@ The app uses standard Android build types (debug and release). There are no prod
- **Debug**: Development builds with fake API support and debug keystore
- **Release**: Production builds with code shrinking, ProGuard, and production keystore
The release build is F-Droid compatible (no Google dependencies, `dependenciesInfo.includeInApk = false`).
To build the release APK:
```bash
# Build the release variant
-3
View File
@@ -7,7 +7,6 @@ This document outlines the process for creating new releases of the TRMNL Androi
The project uses GitHub Actions to manage version synchronization across different files:
- `app/build.gradle.kts`: Contains the app's version code and name
- `metadata/ink.trmnl.android.yml`: Contains F-Droid metadata and versioning
- `fastlane/metadata/android/en-US/changelogs/`: Contains version-specific changelog files
## Creating a new release
@@ -21,7 +20,6 @@ The project uses GitHub Actions to manage version synchronization across differe
This will display:
- Current version code and name
- F-Droid metadata version information
- Existing changelog files
- Suggested next version
@@ -109,7 +107,6 @@ If you encounter issues with the version management workflow:
1. **Manual versioning**:
- Update `app/build.gradle.kts` with the new version code and name
- Update `metadata/ink.trmnl.android.yml` with the same version information
- Create a new changelog file in `fastlane/metadata/android/en-US/changelogs/{VERSION_CODE}.txt`
- Commit and tag manually
+2 -2
View File
@@ -122,8 +122,8 @@ android {
buildConfig = true
}
// Disables encrypted signing block added by AGP (not supported by F-Droid)
// See https://gitlab.com/fdroid/fdroiddata/-/merge_requests/24134#note_2590441621
// Disables dependency metadata to improve privacy
// See https://developer.android.com/reference/tools/gradle-api/8.9/com/android/build/api/dsl/DependenciesInfo
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
+2 -3
View File
@@ -16,12 +16,11 @@ signing the app during development.
The production keystore (`trmnl-app-release.keystore`) is used for all release builds and is stored as a base64-encoded secret in GitHub Actions. The keystore is decoded during CI/CD builds.
**Note:** This project uses only build types (debug/release), not product flavors. There is no separate F-Droid flavor. The release build is F-Droid compatible by default.
**Note:** This project uses only build types (debug/release), not product flavors.
### Release Build Distribution
- **General Distribution**: Release APK signed with production keystore
- **F-Droid Distribution**: Same release APK (F-Droid verifies the signature during their reproducible build process)
The release APK is signed with the production keystore and distributed through Google Play Store.
### Important Notes About the Production Keystore
-3
View File
@@ -1,3 +0,0 @@
# For F-Droid builds
fdroid.includesNonFreeAssets=false
fdroid.usePreferredNetworkConfig=true
-31
View File
@@ -1,31 +0,0 @@
Categories:
- Internet
- System
License: MIT
AuthorName: TRMNL
AuthorEmail: support@usetrmnl.com
AuthorWebSite: https://usetrmnl.com/
SourceCode: https://github.com/usetrmnl/trmnl-android
IssueTracker: https://github.com/usetrmnl/trmnl-android/issues
Changelog: https://github.com/usetrmnl/trmnl-android/releases
AutoName: TRMNL
RepoType: git
Repo: https://github.com/usetrmnl/trmnl-android.git
Binaries: https://github.com/usetrmnl/trmnl-android/releases/download/v%v/trmnl-v%v.apk
Builds:
- versionName: 2.4.2
versionCode: 28
commit: v2.4.2
subdir: app
gradle:
- yes
AllowedAPKSigningKeys: 209b92f5bb0144237251a10fc3ebb53a1117e3dfeb406997bfd6b07f6fb1f248
AutoUpdateMode: Version
UpdateCheckMode: Tags
CurrentVersion: 2.4.2
CurrentVersionCode: 28