Skip to content

Commit af4984d

Browse files
authored
Merge pull request #65 from malkoG/chore/fdroid-deployment
Add F-Droid metadata and release workflow
2 parents c4c5e7e + 9654187 commit af4984d

7 files changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: F-Droid Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build-release:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: '17'
22+
distribution: 'temurin'
23+
24+
- name: Setup Gradle
25+
uses: gradle/actions/setup-gradle@v4
26+
27+
- name: Decode keystore
28+
env:
29+
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
30+
run: echo "$KEYSTORE_BASE64" | base64 -d > ${{ github.workspace }}/release.keystore
31+
32+
- name: Build signed release APK
33+
env:
34+
KEYSTORE_FILE: ${{ github.workspace }}/release.keystore
35+
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
36+
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
37+
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
38+
run: ./gradlew assembleRelease
39+
40+
- name: Upload APK to GitHub Release
41+
uses: softprops/action-gh-release@v2
42+
with:
43+
files: app/build/outputs/apk/release/app-release.apk
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
47+
- name: Clean up keystore
48+
if: always()
49+
run: rm -f ${{ github.workspace }}/release.keystore

app/build.gradle.kts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@ android {
1111
namespace = "pub.hackers.android"
1212
compileSdk = 35
1313

14+
signingConfigs {
15+
create("release") {
16+
val keystoreFile = System.getenv("KEYSTORE_FILE")
17+
if (keystoreFile != null) {
18+
storeFile = file(keystoreFile)
19+
storePassword = System.getenv("STORE_PASSWORD")
20+
keyAlias = System.getenv("KEY_ALIAS")
21+
keyPassword = System.getenv("KEY_PASSWORD")
22+
}
23+
}
24+
}
25+
1426
defaultConfig {
1527
applicationId = "pub.hackers.android"
1628
minSdk = 26
@@ -28,6 +40,7 @@ android {
2840
getDefaultProguardFile("proguard-android-optimize.txt"),
2941
"proguard-rules.pro"
3042
)
43+
signingConfig = signingConfigs.findByName("release")
3144
}
3245
}
3346

@@ -43,6 +56,11 @@ android {
4356
buildFeatures {
4457
compose = true
4558
}
59+
60+
dependenciesInfo {
61+
includeInApk = false
62+
includeInBundle = false
63+
}
4664
}
4765

4866
apollo {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Initial release of the Hackers' Pub Android client.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Hackers' Pub is a federated community platform for software engineers, built on ActivityPub. This Android client lets you browse timelines, interact with posts, explore content, and participate in the fediverse from your mobile device.
2+
3+
Features include:
4+
* Browse your home timeline
5+
* Explore trending posts and topics
6+
* View and interact with posts
7+
* Search for content and users
8+
* Compose and publish posts
9+
* View user profiles
10+
* Receive notifications
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
A client for Hackers' Pub, a federated community for software engineers
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Hackers' Pub

metadata/pub.hackers.android.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Categories:
2+
- Internet
3+
License: AGPL-3.0-only
4+
AuthorName: Hackers' Pub
5+
SourceCode: https://github.com/hackers-pub/android
6+
IssueTracker: https://github.com/hackers-pub/android/issues
7+
8+
Summary: A client for Hackers' Pub, a federated community for software engineers
9+
10+
Description: |-
11+
Hackers' Pub is a federated community platform for software engineers,
12+
built on ActivityPub. This Android client lets you browse timelines,
13+
interact with posts, explore content, and participate in the fediverse
14+
from your mobile device.
15+
16+
Features include:
17+
* Browse your home timeline
18+
* Explore trending posts and topics
19+
* View and interact with posts
20+
* Search for content and users
21+
* Compose and publish posts
22+
* View user profiles
23+
* Receive notifications
24+
25+
RepoType: git
26+
Repo: https://github.com/hackers-pub/android.git
27+
28+
Builds:
29+
- versionName: 1.0.0
30+
versionCode: 1
31+
commit: v1.0.0
32+
subdir: app
33+
gradle:
34+
- yes
35+
ndk: r27c
36+
37+
AutoUpdateMode: Version
38+
UpdateCheckMode: Tags
39+
CurrentVersion: 1.0.0
40+
CurrentVersionCode: 1

0 commit comments

Comments
 (0)