mirror of
https://github.com/usetrmnl/trmnl-android.git
synced 2026-04-29 13:35:26 -07:00
Remove all F-Droid references and metadata
Co-authored-by: hossain-khan <99822+hossain-khan@users.noreply.github.com>
This commit is contained in:
co-authored by
hossain-khan
parent
b002612d9c
commit
f5e33c8781
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# For F-Droid builds
|
||||
fdroid.includesNonFreeAssets=false
|
||||
fdroid.usePreferredNetworkConfig=true
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user