Merge pull request #2213 from element-hq/feature/bma/fdroid
Feature/bma/fdroid
This commit is contained in:
commit
997629294e
13 changed files with 53 additions and 40 deletions
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
|
|
@ -47,14 +47,15 @@ jobs:
|
||||||
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
||||||
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
||||||
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
||||||
run: ./gradlew :app:assembleDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew :app:assembleGplayDebug :app:assembleFDroidDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload APK APKs
|
- name: Upload APK APKs
|
||||||
if: ${{ matrix.variant == 'debug' }}
|
if: ${{ matrix.variant == 'debug' }}
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: elementx-debug
|
name: elementx-debug
|
||||||
path: |
|
path: |
|
||||||
app/build/outputs/apk/debug/*.apk
|
app/build/outputs/apk/gplay/debug/*.apk
|
||||||
|
app/build/outputs/apk/fdroid/debug/*.apk
|
||||||
- uses: rnkdsh/action-upload-diawi@v1.5.4
|
- uses: rnkdsh/action-upload-diawi@v1.5.4
|
||||||
id: diawi
|
id: diawi
|
||||||
# Do not fail the whole build if Diawi upload fails
|
# Do not fail the whole build if Diawi upload fails
|
||||||
|
|
@ -64,7 +65,7 @@ jobs:
|
||||||
if: ${{ matrix.variant == 'debug' && github.event_name == 'pull_request' && env.token != '' }}
|
if: ${{ matrix.variant == 'debug' && github.event_name == 'pull_request' && env.token != '' }}
|
||||||
with:
|
with:
|
||||||
token: ${{ env.token }}
|
token: ${{ env.token }}
|
||||||
file: app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
|
file: app/build/outputs/apk/gplay/debug/app-gplay-arm64-v8a-debug.apk
|
||||||
- name: Add or update PR comment with QR Code to download APK.
|
- name: Add or update PR comment with QR Code to download APK.
|
||||||
if: ${{ matrix.variant == 'debug' && github.event_name == 'pull_request' && steps.diawi.conclusion == 'success' }}
|
if: ${{ matrix.variant == 'debug' && github.event_name == 'pull_request' && steps.diawi.conclusion == 'success' }}
|
||||||
uses: NejcZdovc/comment-pr@v2
|
uses: NejcZdovc/comment-pr@v2
|
||||||
|
|
@ -82,7 +83,7 @@ jobs:
|
||||||
run: ./gradlew compileReleaseSources -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew compileReleaseSources -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Compile nightly sources
|
- name: Compile nightly sources
|
||||||
if: ${{ matrix.variant == 'nightly' }}
|
if: ${{ matrix.variant == 'nightly' }}
|
||||||
run: ./gradlew compileNightlySources -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew compileGplayNightlySources -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Compile samples minimal
|
- name: Compile samples minimal
|
||||||
if: ${{ matrix.variant == 'samples' }}
|
if: ${{ matrix.variant == 'samples' }}
|
||||||
run: ./gradlew :samples:minimal:assemble $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew :samples:minimal:assemble $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
|
|
||||||
2
.github/workflows/maestro.yml
vendored
2
.github/workflows/maestro.yml
vendored
|
|
@ -53,7 +53,7 @@ jobs:
|
||||||
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
|
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
|
||||||
# Doc says (https://github.com/mobile-dev-inc/action-maestro-cloud#android):
|
# Doc says (https://github.com/mobile-dev-inc/action-maestro-cloud#android):
|
||||||
# app-file should point to an x86 compatible APK file, so upload the x86_64 one (much smaller than the universal APK).
|
# app-file should point to an x86 compatible APK file, so upload the x86_64 one (much smaller than the universal APK).
|
||||||
app-file: app/build/outputs/apk/debug/app-x86_64-debug.apk
|
app-file: app/build/outputs/apk/gplay/debug/app-gplay-x86_64-debug.apk
|
||||||
env: |
|
env: |
|
||||||
USERNAME=maestroelement
|
USERNAME=maestroelement
|
||||||
PASSWORD=${{ secrets.MATRIX_MAESTRO_ACCOUNT_PASSWORD }}
|
PASSWORD=${{ secrets.MATRIX_MAESTRO_ACCOUNT_PASSWORD }}
|
||||||
|
|
|
||||||
2
.github/workflows/nightly.yml
vendored
2
.github/workflows/nightly.yml
vendored
|
|
@ -45,7 +45,7 @@ jobs:
|
||||||
- name: Additionally upload Nightly APK to browserstack for testing
|
- name: Additionally upload Nightly APK to browserstack for testing
|
||||||
continue-on-error: true # don't block anything by this upload failing (for now)
|
continue-on-error: true # don't block anything by this upload failing (for now)
|
||||||
run: |
|
run: |
|
||||||
curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-universal-nightly.apk" -F "custom_id=element-x-android-nightly"
|
curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/gplay/nightly/app-gplay-universal-nightly.apk" -F "custom_id=element-x-android-nightly"
|
||||||
env:
|
env:
|
||||||
BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }}
|
BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }}
|
||||||
BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }}
|
BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }}
|
||||||
|
|
|
||||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
|
|
@ -31,10 +31,10 @@ jobs:
|
||||||
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
||||||
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
||||||
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
||||||
run: ./gradlew bundleRelease $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew bundleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload bundle as artifact
|
- name: Upload bundle as artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: elementx-app-bundle-unsigned
|
name: elementx-app-gplay-bundle-unsigned
|
||||||
path: |
|
path: |
|
||||||
app/build/outputs/bundle/release/app-release.aab
|
app/build/outputs/bundle/gplayRelease/app-gplay-release.aab
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ import com.android.build.api.variant.FilterConfiguration.FilterType.ABI
|
||||||
import extension.allFeaturesImpl
|
import extension.allFeaturesImpl
|
||||||
import extension.allLibrariesImpl
|
import extension.allLibrariesImpl
|
||||||
import extension.allServicesImpl
|
import extension.allServicesImpl
|
||||||
|
import extension.koverDependencies
|
||||||
|
import extension.setupKover
|
||||||
import org.jetbrains.kotlin.cli.common.toBooleanLenient
|
import org.jetbrains.kotlin.cli.common.toBooleanLenient
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
|
|
@ -36,6 +38,8 @@ plugins {
|
||||||
// id("com.google.gms.google-services")
|
// id("com.google.gms.google-services")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupKover()
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "io.element.android.x"
|
namespace = "io.element.android.x"
|
||||||
|
|
||||||
|
|
@ -69,7 +73,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
named("debug") {
|
getByName("debug") {
|
||||||
keyAlias = "androiddebugkey"
|
keyAlias = "androiddebugkey"
|
||||||
keyPassword = "android"
|
keyPassword = "android"
|
||||||
storeFile = file("./signature/debug.keystore")
|
storeFile = file("./signature/debug.keystore")
|
||||||
|
|
@ -87,13 +91,13 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
named("debug") {
|
getByName("debug") {
|
||||||
resValue("string", "app_name", "Element X dbg")
|
resValue("string", "app_name", "Element X dbg")
|
||||||
applicationIdSuffix = ".debug"
|
applicationIdSuffix = ".debug"
|
||||||
signingConfig = signingConfigs.getByName("debug")
|
signingConfig = signingConfigs.getByName("debug")
|
||||||
}
|
}
|
||||||
|
|
||||||
named("release") {
|
getByName("release") {
|
||||||
resValue("string", "app_name", "Element X")
|
resValue("string", "app_name", "Element X")
|
||||||
signingConfig = signingConfigs.getByName("debug")
|
signingConfig = signingConfigs.getByName("debug")
|
||||||
|
|
||||||
|
|
@ -124,7 +128,7 @@ android {
|
||||||
// We upload the universal APK to fix this error:
|
// We upload the universal APK to fix this error:
|
||||||
// "App Distribution found more than 1 output file for this variant.
|
// "App Distribution found more than 1 output file for this variant.
|
||||||
// Please contact firebase-support@google.com for help using APK splits with App Distribution."
|
// Please contact firebase-support@google.com for help using APK splits with App Distribution."
|
||||||
artifactPath = "$rootDir/app/build/outputs/apk/nightly/app-universal-nightly.apk"
|
artifactPath = "$rootDir/app/build/outputs/apk/gplay/nightly/app-gplay-universal-nightly.apk"
|
||||||
// artifactType = "AAB"
|
// artifactType = "AAB"
|
||||||
// artifactPath = "$rootDir/app/build/outputs/bundle/nightly/app-nightly.aab"
|
// artifactPath = "$rootDir/app/build/outputs/bundle/nightly/app-nightly.aab"
|
||||||
// This file will be generated by the GitHub action
|
// This file will be generated by the GitHub action
|
||||||
|
|
@ -143,6 +147,20 @@ android {
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
buildConfig = true
|
buildConfig = true
|
||||||
}
|
}
|
||||||
|
flavorDimensions += "store"
|
||||||
|
productFlavors {
|
||||||
|
create("gplay") {
|
||||||
|
dimension = "store"
|
||||||
|
isDefault = true
|
||||||
|
buildConfigField("String", "SHORT_FLAVOR_DESCRIPTION", "\"G\"")
|
||||||
|
buildConfigField("String", "FLAVOR_DESCRIPTION", "\"GooglePlay\"")
|
||||||
|
}
|
||||||
|
create("fdroid") {
|
||||||
|
dimension = "store"
|
||||||
|
buildConfigField("String", "SHORT_FLAVOR_DESCRIPTION", "\"F\"")
|
||||||
|
buildConfigField("String", "FLAVOR_DESCRIPTION", "\"FDroid\"")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
androidComponents {
|
androidComponents {
|
||||||
|
|
@ -222,6 +240,11 @@ dependencies {
|
||||||
implementation(projects.appconfig)
|
implementation(projects.appconfig)
|
||||||
anvil(projects.anvilcodegen)
|
anvil(projects.anvilcodegen)
|
||||||
|
|
||||||
|
// Comment to not include firebase in the project
|
||||||
|
"gplayImplementation"(projects.libraries.pushproviders.firebase)
|
||||||
|
// Comment to not include unified push in the project
|
||||||
|
implementation(projects.libraries.pushproviders.unifiedpush)
|
||||||
|
|
||||||
implementation(libs.appyx.core)
|
implementation(libs.appyx.core)
|
||||||
implementation(libs.androidx.splash)
|
implementation(libs.androidx.splash)
|
||||||
implementation(libs.androidx.core)
|
implementation(libs.androidx.core)
|
||||||
|
|
@ -251,4 +274,5 @@ dependencies {
|
||||||
testImplementation(projects.libraries.matrix.test)
|
testImplementation(projects.libraries.matrix.test)
|
||||||
|
|
||||||
ksp(libs.showkase.processor)
|
ksp(libs.showkase.processor)
|
||||||
|
koverDependencies()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,10 +91,8 @@ object AppModule {
|
||||||
gitRevisionDate = "TODO",
|
gitRevisionDate = "TODO",
|
||||||
// BuildConfig.GIT_BRANCH_NAME,
|
// BuildConfig.GIT_BRANCH_NAME,
|
||||||
gitBranchName = "TODO",
|
gitBranchName = "TODO",
|
||||||
// BuildConfig.FLAVOR_DESCRIPTION,
|
flavorDescription = BuildConfig.FLAVOR_DESCRIPTION,
|
||||||
flavorDescription = "TODO",
|
flavorShortDescription = BuildConfig.SHORT_FLAVOR_DESCRIPTION,
|
||||||
// BuildConfig.SHORT_FLAVOR_DESCRIPTION,
|
|
||||||
flavorShortDescription = "TODO",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|
|
||||||
|
|
@ -199,6 +199,7 @@ class DefaultBugReporter @Inject constructor(
|
||||||
|
|
||||||
// add some github labels
|
// add some github labels
|
||||||
builder.addFormDataPart("label", buildMeta.versionName)
|
builder.addFormDataPart("label", buildMeta.versionName)
|
||||||
|
builder.addFormDataPart("label", buildMeta.flavorDescription)
|
||||||
if (crashCallStack.isNotEmpty() && withCrashLogs) {
|
if (crashCallStack.isNotEmpty() && withCrashLogs) {
|
||||||
builder.addFormDataPart("label", "crash")
|
builder.addFormDataPart("label", "crash")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class DefaultBugReporterTest {
|
||||||
val sut = createDefaultBugReporter(server)
|
val sut = createDefaultBugReporter(server)
|
||||||
var onUploadCancelledCalled = false
|
var onUploadCancelledCalled = false
|
||||||
var onUploadFailedCalled = false
|
var onUploadFailedCalled = false
|
||||||
var progressValues = mutableListOf<Int>()
|
val progressValues = mutableListOf<Int>()
|
||||||
var onUploadSucceedCalled = false
|
var onUploadSucceedCalled = false
|
||||||
sut.sendBugReport(
|
sut.sendBugReport(
|
||||||
withDevicesLogs = true,
|
withDevicesLogs = true,
|
||||||
|
|
@ -80,7 +80,7 @@ class DefaultBugReporterTest {
|
||||||
server.shutdown()
|
server.shutdown()
|
||||||
assertThat(onUploadCancelledCalled).isFalse()
|
assertThat(onUploadCancelledCalled).isFalse()
|
||||||
assertThat(onUploadFailedCalled).isFalse()
|
assertThat(onUploadFailedCalled).isFalse()
|
||||||
assertThat(progressValues.size).isEqualTo(10)
|
assertThat(progressValues.size).isEqualTo(11)
|
||||||
assertThat(onUploadSucceedCalled).isTrue()
|
assertThat(onUploadSucceedCalled).isTrue()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,7 +97,7 @@ class DefaultBugReporterTest {
|
||||||
var onUploadCancelledCalled = false
|
var onUploadCancelledCalled = false
|
||||||
var onUploadFailedCalled = false
|
var onUploadFailedCalled = false
|
||||||
var onUploadFailedReason: String? = null
|
var onUploadFailedReason: String? = null
|
||||||
var progressValues = mutableListOf<Int>()
|
val progressValues = mutableListOf<Int>()
|
||||||
var onUploadSucceedCalled = false
|
var onUploadSucceedCalled = false
|
||||||
sut.sendBugReport(
|
sut.sendBugReport(
|
||||||
withDevicesLogs = true,
|
withDevicesLogs = true,
|
||||||
|
|
@ -131,7 +131,7 @@ class DefaultBugReporterTest {
|
||||||
assertThat(onUploadCancelledCalled).isFalse()
|
assertThat(onUploadCancelledCalled).isFalse()
|
||||||
assertThat(onUploadFailedCalled).isTrue()
|
assertThat(onUploadFailedCalled).isTrue()
|
||||||
assertThat(onUploadFailedReason).isEqualTo("An error body")
|
assertThat(onUploadFailedReason).isEqualTo("An error body")
|
||||||
assertThat(progressValues.size).isEqualTo(10)
|
assertThat(progressValues.size).isEqualTo(11)
|
||||||
assertThat(onUploadSucceedCalled).isFalse()
|
assertThat(onUploadSucceedCalled).isFalse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,10 +87,6 @@ fun DependencyHandlerScope.allLibrariesImpl() {
|
||||||
implementation(project(":libraries:permissions:impl"))
|
implementation(project(":libraries:permissions:impl"))
|
||||||
implementation(project(":libraries:push:impl"))
|
implementation(project(":libraries:push:impl"))
|
||||||
implementation(project(":libraries:push:impl"))
|
implementation(project(":libraries:push:impl"))
|
||||||
// Comment to not include firebase in the project
|
|
||||||
implementation(project(":libraries:pushproviders:firebase"))
|
|
||||||
// Comment to not include unified push in the project
|
|
||||||
implementation(project(":libraries:pushproviders:unifiedpush"))
|
|
||||||
implementation(project(":libraries:featureflag:impl"))
|
implementation(project(":libraries:featureflag:impl"))
|
||||||
implementation(project(":libraries:pushstore:impl"))
|
implementation(project(":libraries:pushstore:impl"))
|
||||||
implementation(project(":libraries:preferences:impl"))
|
implementation(project(":libraries:preferences:impl"))
|
||||||
|
|
|
||||||
|
|
@ -97,8 +97,8 @@ fun Project.setupKover() {
|
||||||
|
|
||||||
defaults {
|
defaults {
|
||||||
// add reports of both 'debug' and 'release' Android build variants to default reports
|
// add reports of both 'debug' and 'release' Android build variants to default reports
|
||||||
mergeWith("debug")
|
mergeWith("gplayDebug")
|
||||||
mergeWith("release")
|
mergeWith("gplayRelease")
|
||||||
|
|
||||||
verify {
|
verify {
|
||||||
onCheck = true
|
onCheck = true
|
||||||
|
|
@ -202,7 +202,7 @@ fun Project.setupKover() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
androidReports("release") {}
|
androidReports("gplayRelease") {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,10 @@
|
||||||
/**
|
/**
|
||||||
* This will generate the plugin "io.element.android-compose-application" to use by app and samples modules
|
* This will generate the plugin "io.element.android-compose-application" to use by app and samples modules
|
||||||
*/
|
*/
|
||||||
import extension.koverDependencies
|
|
||||||
import extension.androidConfig
|
import extension.androidConfig
|
||||||
import extension.commonDependencies
|
import extension.commonDependencies
|
||||||
import extension.composeConfig
|
import extension.composeConfig
|
||||||
import extension.composeDependencies
|
import extension.composeDependencies
|
||||||
import extension.setupKover
|
|
||||||
import org.gradle.accessors.dm.LibrariesForLibs
|
import org.gradle.accessors.dm.LibrariesForLibs
|
||||||
|
|
||||||
val libs = the<LibrariesForLibs>()
|
val libs = the<LibrariesForLibs>()
|
||||||
|
|
@ -32,8 +30,6 @@ plugins {
|
||||||
id("com.autonomousapps.dependency-analysis")
|
id("com.autonomousapps.dependency-analysis")
|
||||||
}
|
}
|
||||||
|
|
||||||
setupKover()
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
androidConfig(project)
|
androidConfig(project)
|
||||||
composeConfig(libs)
|
composeConfig(libs)
|
||||||
|
|
@ -46,5 +42,4 @@ dependencies {
|
||||||
commonDependencies(libs)
|
commonDependencies(libs)
|
||||||
composeDependencies(libs)
|
composeDependencies(libs)
|
||||||
coreLibraryDesugaring(libs.android.desugar)
|
coreLibraryDesugaring(libs.android.desugar)
|
||||||
koverDependencies()
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,8 @@ object Singleton {
|
||||||
gitRevisionDate = "TODO",
|
gitRevisionDate = "TODO",
|
||||||
// BuildConfig.GIT_BRANCH_NAME,
|
// BuildConfig.GIT_BRANCH_NAME,
|
||||||
gitBranchName = "TODO",
|
gitBranchName = "TODO",
|
||||||
// BuildConfig.FLAVOR_DESCRIPTION,
|
flavorDescription = "NA",
|
||||||
flavorDescription = "TODO",
|
flavorShortDescription = "NA",
|
||||||
// BuildConfig.SHORT_FLAVOR_DESCRIPTION,
|
|
||||||
flavorShortDescription = "TODO",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,7 @@ git commit -a -m "Setting version for the release ${version}"
|
||||||
|
|
||||||
printf "\n================================================================================\n"
|
printf "\n================================================================================\n"
|
||||||
printf "Building the bundle locally first...\n"
|
printf "Building the bundle locally first...\n"
|
||||||
./gradlew clean app:bundleRelease
|
./gradlew clean app:bundleGplayRelease
|
||||||
|
|
||||||
printf "\n================================================================================\n"
|
printf "\n================================================================================\n"
|
||||||
printf "Running towncrier...\n"
|
printf "Running towncrier...\n"
|
||||||
|
|
@ -218,7 +218,7 @@ fi
|
||||||
|
|
||||||
printf "\n================================================================================\n"
|
printf "\n================================================================================\n"
|
||||||
printf "Wait for the GitHub action https://github.com/element-hq/element-x-android/actions/workflows/release.yml?query=branch%%3Amain to build the 'main' branch.\n"
|
printf "Wait for the GitHub action https://github.com/element-hq/element-x-android/actions/workflows/release.yml?query=branch%%3Amain to build the 'main' branch.\n"
|
||||||
read -p "After GHA is finished, please enter the artifact URL (for 'elementx-app-bundle-unsigned'): " artifactUrl
|
read -p "After GHA is finished, please enter the artifact URL (for 'elementx-app-gplay-bundle-unsigned'): " artifactUrl
|
||||||
|
|
||||||
printf "\n================================================================================\n"
|
printf "\n================================================================================\n"
|
||||||
printf "Downloading the artifact...\n"
|
printf "Downloading the artifact...\n"
|
||||||
|
|
@ -235,7 +235,7 @@ python3 ./tools/github/download_github_artifacts.py \
|
||||||
printf "\n================================================================================\n"
|
printf "\n================================================================================\n"
|
||||||
printf "Unzipping the artifact...\n"
|
printf "Unzipping the artifact...\n"
|
||||||
|
|
||||||
unzip ${targetPath}/elementx-app-bundle-unsigned.zip -d ${targetPath}
|
unzip ${targetPath}/elementx-app-gplay-bundle-unsigned.zip -d ${targetPath}
|
||||||
|
|
||||||
unsignedBundlePath="${targetPath}/app-release.aab"
|
unsignedBundlePath="${targetPath}/app-release.aab"
|
||||||
signedBundlePath="${targetPath}/app-release-signed.aab"
|
signedBundlePath="${targetPath}/app-release-signed.aab"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue