From 6dd3bdb469880790ce0ff76e600e6d3a121af835 Mon Sep 17 00:00:00 2001 From: Joel Koen Date: Wed, 5 Jun 2024 13:13:02 +1000 Subject: [PATCH] feat: prepare for fdroid release --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 28 +++++++++++++++++++ .gitignore | 2 ++ .reuse/dep5 | 8 ++++-- build.gradle | 24 +++++++++++++--- .../android/en-US/full_description.txt | 3 ++ .../android/en-US/short_description.txt | 1 + fastlane/metadata/android/en-US/title.txt | 1 + 8 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 fastlane/metadata/android/en-US/full_description.txt create mode 100644 fastlane/metadata/android/en-US/short_description.txt create mode 100644 fastlane/metadata/android/en-US/title.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac3956a..88a3346 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - run: ./gradlew --no-daemon build + - run: ./gradlew --no-daemon assembleDebug env: TERM: dumb JAVA_OPTS: -Xmx2048m diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..5cbc77c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: 2024, Joel Koen +# SPDX-License-Identifier: CC0-1.0 + +name: Build release +on: + workflow_dispatch: + push: + tags: + - v* +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: | + echo "$SIGNING_KEYSTORE" | base64 -d > release.jks + ./gradlew --no-daemon assembleRelease + env: + SIGNING_KEYSTORE: ${{ secrets.SIGNING_KEYSTORE }} + SIGNING_KEYSTORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }} + SIGNING_ALIAS: ${{ secrets.SIGNING_ALIAS }} + SIGNING_ALIAS_PASSWORD: ${{ secrets.SIGNING_ALIAS_PASSWORD }} + - uses: actions/upload-artifact@v4 + with: + name: release-apk + path: build/outputs/apk/release/beacondb-unifiednlp-release.apk diff --git a/.gitignore b/.gitignore index d6d5aa8..37da6c4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ user.gradle local.properties .idea/ BuildConfig.java +release/ +release.jks diff --git a/.reuse/dep5 b/.reuse/dep5 index 3353e13..20192ae 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -1,9 +1,13 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Files: src/main/res/mipmap-*/*.png -Copyright: 2024 beaconDB +Copyright: 2024 Joel Koen License: CC-BY-3.0 Files: src/main/ic_launcher-playstore.png -Copyright: 2024 beaconDB +Copyright: 2024 Joel Koen License: CC-BY-3.0 + +FIles: fastlane/metadata/**/*.txt +Copyright: 2024 Joel Koen +License: CC0-1.0 diff --git a/build.gradle b/build.gradle index bb1e126..91196d4 100644 --- a/build.gradle +++ b/build.gradle @@ -14,9 +14,9 @@ buildscript { } /* This is a hack, trying to provide release updates to F-Droid until it can properly handle Gradle -applicationId "org.microg.nlp.backend.ichnaea" -versionName "1.5.0" -versionCode "20036" +applicationId "net.beacondb.unifiednlp" +versionName "1.7.0" +versionCode "20048" */ apply plugin: 'com.android.application' @@ -24,7 +24,8 @@ apply plugin: 'com.android.application' String getMyVersionName() { def stdout = new ByteArrayOutputStream() if (rootProject.file("gradlew").exists()) - exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout } + exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty' + standardOutput = stdout } else // automatic build system, don't tag dirty exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout } return stdout.toString().trim().substring(1) @@ -63,6 +64,21 @@ android { sourceCompatibility = 1.8 targetCompatibility = 1.8 } + + signingConfigs { + release { + storeFile file("release.jks") + storePassword System.getenv("SIGNING_KEYSTORE_PASSWORD") + keyAlias System.getenv("SIGNING_ALIAS") + keyPassword System.getenv("SIGNING_ALIAS_PASSWORD") + } + } + + buildTypes { + release { + signingConfig signingConfigs.release + } + } } if (file('user.gradle').exists()) { diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000..b560591 --- /dev/null +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,3 @@ +UnifiedNLP +backend that uses beaconDB to resolve +locations. The backend can also be configured to use a custom Ichnaea endpoint. diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..89afdf4 --- /dev/null +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +UnifiedNLP backend for beaconDB diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..025f7ae --- /dev/null +++ b/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +beaconDB UnifiedNlp Backend