Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/build-fcash2-upload-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ jobs:
- name: Gradle build cache
uses: actions/cache@v4
with:
path: ~/.gradle/caches/build-cache-1
path: |
~/.gradle/caches/build-cache-1
.gradle/configuration-cache
key: gradle-build-cache-${{ hashFiles('**/*.gradle.kts', 'gradle.properties') }}
restore-keys: |
gradle-build-cache-
Expand Down Expand Up @@ -105,7 +107,9 @@ jobs:
- name: Gradle build cache
uses: actions/cache@v4
with:
path: ~/.gradle/caches/build-cache-1
path: |
~/.gradle/caches/build-cache-1
.gradle/configuration-cache
key: gradle-build-cache-${{ hashFiles('**/*.gradle.kts', 'gradle.properties') }}
restore-keys: |
gradle-build-cache-
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ jobs:
- name: Gradle build cache
uses: actions/cache@v4
with:
path: ~/.gradle/caches/build-cache-1
path: |
~/.gradle/caches/build-cache-1
.gradle/configuration-cache
key: gradle-build-cache-${{ hashFiles('**/*.gradle.kts', 'gradle.properties') }}
restore-keys: |
gradle-build-cache-
Expand Down
11 changes: 9 additions & 2 deletions apps/flipcash/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ fun gitVersionCode(): Int {
val contributorsSigningConfig = ContributorsSignatory(rootDir)
val appNamespace = "${Gradle.flipcashNamespace}.app.android"

val skipExpensiveReleaseTasks = providers.gradleProperty("skipExpensiveReleaseTasks")
.orElse("false").get().toBooleanStrict()

android {
// static namespace
namespace = appNamespace
Expand Down Expand Up @@ -65,8 +68,8 @@ android {
buildTypes {
getByName("release") {
resValue("string", "applicationId", appNamespace)
isMinifyEnabled = true
isShrinkResources = true
isMinifyEnabled = !skipExpensiveReleaseTasks
isShrinkResources = !skipExpensiveReleaseTasks
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
getByName("debug") {
Expand All @@ -92,6 +95,10 @@ android {
}
}

lint {
checkReleaseBuilds = false
}

compileOptions {
sourceCompatibility(libs.versions.android.java.get())
targetCompatibility(libs.versions.android.java.get())
Expand Down
3 changes: 0 additions & 3 deletions apps/flipcash/app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@
# Preserve source file names and line numbers for stack traces (call site tracking, Bugsnag)
-keepattributes SourceFile,LineNumberTable

# Keep screen names
-keepnames class * implements cafe.adriel.voyager.core.screen.Screen

# Keep AppRoute class names for analytics screen tracking
-keepnames class com.flipcash.app.core.AppRoute
-keepnames class com.flipcash.app.core.AppRoute$**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ package com.flipcash.app.onramp
import com.coinbase.onramp.api.CoinbaseApi
import com.coinbase.onramp.data.OnRampApiConfig
import com.flipcash.app.featureflags.FeatureFlagController
import com.flipcash.app.userflags.FieldOverride
import com.flipcash.app.userflags.ResolvedFlag
import com.flipcash.app.userflags.ResolvedUserFlags
import com.flipcash.app.userflags.UserFlagsCoordinator
import com.flipcash.services.models.UserProfile
import com.flipcash.services.user.UserManager
Expand All @@ -22,6 +25,7 @@ import io.mockk.mockkStatic
import io.mockk.slot
import io.mockk.unmockkStatic
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runTest
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonObject
Expand Down Expand Up @@ -78,6 +82,14 @@ class CoinbaseOnRampControllerTest {

every { webViewChannelDetector.detect() } returns null

val resolvedFlags = mockk<ResolvedUserFlags>(relaxed = true) {
every { requireCoinbaseEmailVerification } returns ResolvedFlag(
serverValue = true,
override = FieldOverride.None,
)
}
every { userFlags.resolvedFlags } returns MutableStateFlow(resolvedFlags)

controller = CoinbaseOnRampController(
jwtProvider = jwtProvider,
onRampApiEndpoint = onRampApiEndpoint,
Expand Down
2 changes: 1 addition & 1 deletion fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ platform :android do
desc "Runs all the tests for Flipcash"
lane :flipcash_tests do
gradle(
task: "generateEmojiList flipcashTestDebug",
task: "generateEmojiList flipcashTestDebug lintDebug",
properties: {
"skipCoverage" => ENV.fetch("SKIP_COVERAGE", "false")
}
Expand Down
6 changes: 5 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -XX:MaxMetaspaceSize=1024m -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g -Dlint.nullness.ignore-deprecated=true
org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -XX:MaxMetaspaceSize=1024m -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g -Dlint.nullness.ignore-deprecated=true
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
Expand Down Expand Up @@ -41,3 +41,7 @@ android.experimental.enableTestFixturesKotlinSupport=true
android.suppressUnsupportedOptionWarnings=android.suppressUnsupportedOptionWarnings,android.experimental.enableTestFixturesKotlinSupport
android.uniquePackageNames=false
android.dependency.useConstraints=false
# R8 full mode: enables more aggressive optimizations (class merging,
# enum unboxing, constant propagation). Produces smaller, faster output
# and can also reduce R8's own processing time.
android.enableR8.fullMode=true
Loading