From 973d6d798a19b9f641e79e0c12d2537b23cf5604 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:01:24 +0200 Subject: [PATCH 01/11] Prepare to run the CI tests Let them run in parallel to test them together Do not write to the cache, just use what's already there. --- .github/workflows/pr.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d026870cc7..7ab9255079 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -2,9 +2,9 @@ name: PR on: pull_request -concurrency: - group: ref-${{ github.ref }} - cancel-in-progress: true +#concurrency: +# group: ref-${{ github.ref }} +# cancel-in-progress: true jobs: unit_test: @@ -27,7 +27,7 @@ jobs: uses: gradle/gradle-build-action@v2 with: # Only write to the cache for builds on the 'develop' branch - cache-read-only: false + cache-read-only: true gradle-home-cache-cleanup: true - name: Prebuild run: ./scripts/ci-prebuild.sh @@ -61,7 +61,7 @@ jobs: uses: gradle/gradle-build-action@v2 with: # Only write to the cache for builds on the 'develop' branch - cache-read-only: false + cache-read-only: true gradle-home-cache-cleanup: true - name: Prebuild run: ./scripts/ci-prebuild.sh @@ -94,7 +94,7 @@ jobs: uses: gradle/gradle-build-action@v2 with: # Only write to the cache for builds on the 'develop' branch - cache-read-only: false + cache-read-only: true gradle-home-cache-cleanup: true - name: Prebuild run: ./scripts/ci-prebuild.sh @@ -131,7 +131,7 @@ jobs: uses: gradle/gradle-build-action@v2 with: # Only write to the cache for builds on the 'develop' branch - cache-read-only: false + cache-read-only: true gradle-home-cache-cleanup: true - run: echo VERSION_CODE=$(expr 4700 + ${{ github.run_number }} + ${{ github.run_attempt }} - 1) >> $GITHUB_ENV - uses: chkfung/android-version-actions@v1.2 From 9ed1f81154b1ab57c9d2597de5e7e0ce8fe75619 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:02:53 +0200 Subject: [PATCH 02/11] ABI change in root project --- .../com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt b/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt index ce0722460a..edea44106b 100644 --- a/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt +++ b/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt @@ -123,6 +123,7 @@ class LoggedInActivity : AppCompatActivity() { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) + iAmAPublicMethodInAppModule("input") val intent: Intent = intent val uri: Uri? = intent.data lifecycleScope.launch { @@ -422,3 +423,7 @@ private fun Theme.apply() = when (this) { } } } + +fun iAmAPublicMethodInAppModule(input: String): Int { + return 1 +} From cd3f48665bfed5350cc21fa4d7b499cb86e6bbc6 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:03:22 +0200 Subject: [PATCH 03/11] ubuntu-latest-8-vcpu --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7ab9255079..9784273ff1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,7 +8,7 @@ on: pull_request jobs: unit_test: - runs-on: ubuntu-latest-64vcpu + runs-on: ubuntu-latest-8-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -42,7 +42,7 @@ jobs: paths: "app/build/test-results/testDebugUnitTest/**/TEST-*.xml" if: always() lint: - runs-on: ubuntu-latest-64vcpu + runs-on: ubuntu-latest-8-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -75,7 +75,7 @@ jobs: report-path: app/build/reports/lint-results-debug.xml continue-on-error: true ktlint: - runs-on: ubuntu-latest-64vcpu + runs-on: ubuntu-latest-8-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -111,7 +111,7 @@ jobs: with: report-path: build/reports/ktlint/*.xml build: - runs-on: ubuntu-latest-64vcpu + runs-on: ubuntu-latest-8-vcpu steps: - name: Checkout uses: actions/checkout@v4 From bafb92a2985bda44bc21c63d7367322bcd5b510b Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:30:24 +0200 Subject: [PATCH 04/11] Add public ABI changing functions to leaf JVM and Android modules --- .../com/hedvig/android/apollo/giraffe/di/GiraffeModule.kt | 7 +++++++ .../src/main/kotlin/com/hedvig/android/logger/Logcat.kt | 5 +++++ .../main/kotlin/com/hedvig/android/logger/LogcatLogger.kt | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/app/apollo/apollo-giraffe-public/src/main/kotlin/com/hedvig/android/apollo/giraffe/di/GiraffeModule.kt b/app/apollo/apollo-giraffe-public/src/main/kotlin/com/hedvig/android/apollo/giraffe/di/GiraffeModule.kt index 38b9422629..6a22a89c49 100644 --- a/app/apollo/apollo-giraffe-public/src/main/kotlin/com/hedvig/android/apollo/giraffe/di/GiraffeModule.kt +++ b/app/apollo/apollo-giraffe-public/src/main/kotlin/com/hedvig/android/apollo/giraffe/di/GiraffeModule.kt @@ -6,6 +6,9 @@ import org.koin.dsl.module @Suppress("RemoveExplicitTypeArguments") val giraffeModule = module { + publicAndroidModuleFunction("").also { + it + 1 + } single<ApolloClient>(giraffeClient) { val hedvigBuildConstants = get<HedvigBuildConstants>() get<ApolloClient.Builder>().copy() @@ -14,3 +17,7 @@ val giraffeModule = module { .build() } } + +fun publicAndroidModuleFunction(input: String): Int { + return 3 +} diff --git a/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/Logcat.kt b/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/Logcat.kt index f1efb0bde1..050d81e510 100644 --- a/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/Logcat.kt +++ b/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/Logcat.kt @@ -9,7 +9,12 @@ inline fun logcat( throwable: Throwable? = null, noinline message: () -> String, ) { + publicFunctionInLeafJvmModule() with(LogcatLogger.logger) { log(priority, throwable, message) } } + +fun publicFunctionInLeafJvmModule() { + println("publicFunctionInLeafJvmModule + ${1 + 2}") +} diff --git a/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/LogcatLogger.kt b/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/LogcatLogger.kt index 306d2a2204..705951c713 100644 --- a/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/LogcatLogger.kt +++ b/app/logging/logging-public/src/main/kotlin/com/hedvig/android/logger/LogcatLogger.kt @@ -1,5 +1,7 @@ package com.hedvig.android.logger +import com.hedvig.android.logger.LogcatLogger.NoLog.publicFunctionInInterface + /** * Logger that [logcat] delegates to. Call [install] to install a new logger, the default is a * no-op logger. Calling [uninstall] falls back to the default no-op logger. @@ -49,6 +51,7 @@ interface LogcatLogger { */ fun uninstall() { synchronized(this) { + publicFunctionInInterface() installedThrowable = null logger = NoLog } @@ -65,4 +68,8 @@ interface LogcatLogger { message: () -> String, ) = error("Should never receive any log") } + + fun publicFunctionInInterface() { + println("publicFunctionInInterface + ${1 + 2}") + } } From 93f455985e3eb8404e52fa793af31591403d461b Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 23:24:17 +0200 Subject: [PATCH 05/11] More ABI breaking changes and add an android resource --- .../app/feature/loggedin/ui/LoggedInActivity.kt | 13 +++++++++++++ .../android/core/icons/PublicApiChangeClass.kt | 9 +++++++++ .../src/main/res/drawable/ic_info_abi.xml | 10 ++++++++++ .../android/feature/home/home/ui/HomeDestination.kt | 9 +++++++++ .../feature/profile/payment/PaymentDestination.kt | 5 +++++ .../feature/profile/tab/ProfileDestination.kt | 6 ++++++ 6 files changed, 52 insertions(+) create mode 100644 app/core/core-icons/src/main/kotlin/com/hedvig/android/core/icons/PublicApiChangeClass.kt create mode 100644 app/core/core-icons/src/main/res/drawable/ic_info_abi.xml diff --git a/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt b/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt index edea44106b..f5e51b4b6a 100644 --- a/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt +++ b/app/app/src/main/kotlin/com/hedvig/app/feature/loggedin/ui/LoggedInActivity.kt @@ -32,6 +32,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.union +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass @@ -42,6 +43,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.composed import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen @@ -64,6 +66,7 @@ import com.hedvig.android.core.buildconstants.HedvigBuildConstants import com.hedvig.android.core.demomode.DemoManager import com.hedvig.android.core.designsystem.material3.motion.MotionTokens import com.hedvig.android.core.designsystem.theme.HedvigTheme +import com.hedvig.android.core.icons.PublicApiChangeClass import com.hedvig.android.data.settings.datastore.SettingsDataStore import com.hedvig.android.hanalytics.featureflags.FeatureManager import com.hedvig.android.hanalytics.featureflags.flags.Feature @@ -217,6 +220,10 @@ class LoggedInActivity : AppCompatActivity() { setContent { val market by marketManager.market.collectAsStateWithLifecycle() + Icon( + painterResource(com.hedvig.android.core.icons.R.drawable.ic_info_abi), + PublicApiChangeClass().helloCi().string + PubAppClass().hello(), + ) HedvigTheme { val windowSizeClass = calculateWindowSizeClass(this) HedvigApp( @@ -427,3 +434,9 @@ private fun Theme.apply() = when (this) { fun iAmAPublicMethodInAppModule(input: String): Int { return 1 } + +class PubAppClass { + fun hello(): Int { + return 1 + } +} diff --git a/app/core/core-icons/src/main/kotlin/com/hedvig/android/core/icons/PublicApiChangeClass.kt b/app/core/core-icons/src/main/kotlin/com/hedvig/android/core/icons/PublicApiChangeClass.kt new file mode 100644 index 0000000000..5ed63a9f57 --- /dev/null +++ b/app/core/core-icons/src/main/kotlin/com/hedvig/android/core/icons/PublicApiChangeClass.kt @@ -0,0 +1,9 @@ +package com.hedvig.android.core.icons + +class PublicApiChangeClass { + fun helloCi(): MyString { + return MyString("2 + 2 + 4 - 1") + } +} + +class MyString(val string: String) diff --git a/app/core/core-icons/src/main/res/drawable/ic_info_abi.xml b/app/core/core-icons/src/main/res/drawable/ic_info_abi.xml new file mode 100644 index 0000000000..3703dbc572 --- /dev/null +++ b/app/core/core-icons/src/main/res/drawable/ic_info_abi.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="14dp" + android:height="14dp" + android:viewportWidth="14" + android:viewportHeight="14"> + <path + android:pathData="M14,7C14,10.866 10.866,14 7,14C3.134,14 0,10.866 0,7C0,3.134 3.134,0 7,0C10.866,0 14,3.134 14,7ZM8,3.625C8,4.177 7.552,4.625 7,4.625C6.448,4.625 6,4.177 6,3.625C6,3.073 6.448,2.625 7,2.625C7.552,2.625 8,3.073 8,3.625ZM7.77,6.319C7.77,5.905 7.434,5.569 7.02,5.569C6.606,5.569 6.27,5.905 6.27,6.319V10.308C6.27,10.722 6.606,11.058 7.02,11.058C7.434,11.058 7.77,10.722 7.77,10.308V6.319Z" + android:fillColor="#59BFFA" + android:fillType="evenOdd"/> +</vector> diff --git a/app/feature/feature-home/src/main/kotlin/com/hedvig/android/feature/home/home/ui/HomeDestination.kt b/app/feature/feature-home/src/main/kotlin/com/hedvig/android/feature/home/home/ui/HomeDestination.kt index c4ca75b4ab..9a2eb4735a 100644 --- a/app/feature/feature-home/src/main/kotlin/com/hedvig/android/feature/home/home/ui/HomeDestination.kt +++ b/app/feature/feature-home/src/main/kotlin/com/hedvig/android/feature/home/home/ui/HomeDestination.kt @@ -27,6 +27,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.CardDefaults import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text @@ -45,6 +46,7 @@ import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.testTag +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.IntSize @@ -66,6 +68,7 @@ import com.hedvig.android.core.designsystem.material3.warningElement import com.hedvig.android.core.designsystem.preview.HedvigPreview import com.hedvig.android.core.designsystem.theme.HedvigTheme import com.hedvig.android.core.icons.Hedvig +import com.hedvig.android.core.icons.PublicApiChangeClass import com.hedvig.android.core.icons.hedvig.normal.WarningFilled import com.hedvig.android.core.ui.appbar.m3.ToolbarChatIcon import com.hedvig.android.core.ui.appbar.m3.TopAppBarLayoutForActions @@ -103,6 +106,8 @@ import kotlinx.datetime.toJavaLocalDate import java.time.format.DateTimeFormatter import java.time.format.FormatStyle + + @Composable internal fun HomeDestination( viewModel: HomeViewModel, @@ -118,6 +123,10 @@ internal fun HomeDestination( ) { val uiState by viewModel.uiState.collectAsStateWithLifecycle() val notificationPermissionState = rememberNotificationPermissionState() + Icon( + painterResource(com.hedvig.android.core.icons.R.drawable.ic_info_abi), + PublicApiChangeClass().helloCi().string, + ) HomeScreen( uiState = uiState, notificationPermissionState = notificationPermissionState, diff --git a/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/payment/PaymentDestination.kt b/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/payment/PaymentDestination.kt index d11495d6e8..35c32646e9 100644 --- a/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/payment/PaymentDestination.kt +++ b/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/payment/PaymentDestination.kt @@ -54,6 +54,7 @@ import com.hedvig.android.core.designsystem.material3.typeElement import com.hedvig.android.core.designsystem.preview.HedvigPreview import com.hedvig.android.core.designsystem.theme.HedvigTheme import com.hedvig.android.core.icons.Hedvig +import com.hedvig.android.core.icons.PublicApiChangeClass import com.hedvig.android.core.icons.hedvig.normal.Payments import com.hedvig.android.core.icons.hedvig.normal.Waiting import com.hedvig.android.core.ui.clearFocusOnTap @@ -81,6 +82,10 @@ internal fun PaymentDestination( market: Market, ) { val uiState by viewModel.uiState.collectAsStateWithLifecycle() + Icon( + painterResource(com.hedvig.android.core.icons.R.drawable.ic_info_abi), + PublicApiChangeClass().helloCi().string, + ) PaymentScreen( uiState = uiState, locale = viewModel.languageService.getLocale(), diff --git a/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/tab/ProfileDestination.kt b/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/tab/ProfileDestination.kt index 29c0944d93..6e36e78040 100644 --- a/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/tab/ProfileDestination.kt +++ b/app/feature/feature-profile/src/main/kotlin/com/hedvig/android/feature/profile/tab/ProfileDestination.kt @@ -41,6 +41,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.testTag +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -49,6 +50,7 @@ import com.hedvig.android.core.designsystem.component.button.HedvigTextButton import com.hedvig.android.core.designsystem.preview.HedvigPreview import com.hedvig.android.core.designsystem.theme.HedvigTheme import com.hedvig.android.core.icons.Hedvig +import com.hedvig.android.core.icons.PublicApiChangeClass import com.hedvig.android.core.icons.hedvig.normal.ContactInformation import com.hedvig.android.core.icons.hedvig.normal.Eurobonus import com.hedvig.android.core.icons.hedvig.normal.Info @@ -77,6 +79,10 @@ internal fun ProfileDestination( viewModel: ProfileViewModel, ) { val uiState by viewModel.data.collectAsStateWithLifecycle() + Icon( + painterResource(com.hedvig.android.core.icons.R.drawable.ic_info_abi), + PublicApiChangeClass().helloCi().string, + ) ProfileScreen( uiState = uiState, reload = viewModel::reload, From b12d18b2fa9071e296ab7d16aa27b5f0e7c097e1 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:04:14 +0200 Subject: [PATCH 06/11] ubuntu-latest-16-vcpu --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9784273ff1..452b48fe13 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,7 +8,7 @@ on: pull_request jobs: unit_test: - runs-on: ubuntu-latest-8-vcpu + runs-on: ubuntu-latest-16-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -42,7 +42,7 @@ jobs: paths: "app/build/test-results/testDebugUnitTest/**/TEST-*.xml" if: always() lint: - runs-on: ubuntu-latest-8-vcpu + runs-on: ubuntu-latest-16-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -75,7 +75,7 @@ jobs: report-path: app/build/reports/lint-results-debug.xml continue-on-error: true ktlint: - runs-on: ubuntu-latest-8-vcpu + runs-on: ubuntu-latest-16-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -111,7 +111,7 @@ jobs: with: report-path: build/reports/ktlint/*.xml build: - runs-on: ubuntu-latest-8-vcpu + runs-on: ubuntu-latest-16-vcpu steps: - name: Checkout uses: actions/checkout@v4 From 3b5f5695c57f4790379692bc5b7c3a5ca87e09d5 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:05:11 +0200 Subject: [PATCH 07/11] ubuntu-latest-32-vcpu --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 452b48fe13..33da3e7f79 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,7 +8,7 @@ on: pull_request jobs: unit_test: - runs-on: ubuntu-latest-16-vcpu + runs-on: ubuntu-latest-32-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -42,7 +42,7 @@ jobs: paths: "app/build/test-results/testDebugUnitTest/**/TEST-*.xml" if: always() lint: - runs-on: ubuntu-latest-16-vcpu + runs-on: ubuntu-latest-32-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -75,7 +75,7 @@ jobs: report-path: app/build/reports/lint-results-debug.xml continue-on-error: true ktlint: - runs-on: ubuntu-latest-16-vcpu + runs-on: ubuntu-latest-32-vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -111,7 +111,7 @@ jobs: with: report-path: build/reports/ktlint/*.xml build: - runs-on: ubuntu-latest-16-vcpu + runs-on: ubuntu-latest-32-vcpu steps: - name: Checkout uses: actions/checkout@v4 From 9843dae3fc2612ec6302dd55cabeb35b480e2ba0 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 22:05:39 +0200 Subject: [PATCH 08/11] ubuntu-latest-64-vcpu --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 33da3e7f79..7ab9255079 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,7 +8,7 @@ on: pull_request jobs: unit_test: - runs-on: ubuntu-latest-32-vcpu + runs-on: ubuntu-latest-64vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -42,7 +42,7 @@ jobs: paths: "app/build/test-results/testDebugUnitTest/**/TEST-*.xml" if: always() lint: - runs-on: ubuntu-latest-32-vcpu + runs-on: ubuntu-latest-64vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -75,7 +75,7 @@ jobs: report-path: app/build/reports/lint-results-debug.xml continue-on-error: true ktlint: - runs-on: ubuntu-latest-32-vcpu + runs-on: ubuntu-latest-64vcpu steps: - uses: actions/checkout@v4 - name: Copy CI gradle.properties @@ -111,7 +111,7 @@ jobs: with: report-path: build/reports/ktlint/*.xml build: - runs-on: ubuntu-latest-32-vcpu + runs-on: ubuntu-latest-64vcpu steps: - name: Checkout uses: actions/checkout@v4 From 45d69943cb008f191d9729bff5b7e3e6ab815349 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Tue, 24 Oct 2023 23:57:07 +0200 Subject: [PATCH 09/11] Try with a bonkers memory number for the big runner --- .github/ci-gradle.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties index 92ddadcbba..e7cb75e04f 100644 --- a/.github/ci-gradle.properties +++ b/.github/ci-gradle.properties @@ -3,4 +3,6 @@ org.gradle.parallel=true org.gradle.workers.max=2 kotlin.incremental=false -kotlin.compiler.execution.strategy=in-process \ No newline at end of file +kotlin.compiler.execution.strategy=in-process + +org.gradle.jvmargs=-Xms192g -Xmx192g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC From c880e566ae990891033aba5be0aea0ea3e74217f Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Wed, 25 Oct 2023 00:28:45 +0200 Subject: [PATCH 10/11] More big boy number tests --- .github/ci-gradle.properties | 2 +- gradle.properties | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties index e7cb75e04f..5c1a64a022 100644 --- a/.github/ci-gradle.properties +++ b/.github/ci-gradle.properties @@ -1,8 +1,8 @@ org.gradle.daemon=false org.gradle.parallel=true -org.gradle.workers.max=2 kotlin.incremental=false kotlin.compiler.execution.strategy=in-process org.gradle.jvmargs=-Xms192g -Xmx192g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.workers.max = 48 diff --git a/gradle.properties b/gradle.properties index c52c0d6262..3d3fcf2170 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,9 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Ensure important default jvmargs aren't overwritten. See https://github.com/gradle/gradle/issues/19750 -org.gradle.jvmargs=-Xmx9216M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g +#org.gradle.jvmargs=-Xmx9216M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g +org.gradle.jvmargs=-Xms192g -Xmx192g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.workers.max = 48 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit From 75e7730c02890c4db61379f0f90fbe9877bb7539 Mon Sep 17 00:00:00 2001 From: stylianosgakis <stylianos@hedvig.com> Date: Wed, 25 Oct 2023 00:39:35 +0200 Subject: [PATCH 11/11] More big boy number tests --- .github/ci-gradle.properties | 1 - gradle.properties | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties index 5c1a64a022..286117fc2a 100644 --- a/.github/ci-gradle.properties +++ b/.github/ci-gradle.properties @@ -4,5 +4,4 @@ org.gradle.parallel=true kotlin.incremental=false kotlin.compiler.execution.strategy=in-process -org.gradle.jvmargs=-Xms192g -Xmx192g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC org.gradle.workers.max = 48 diff --git a/gradle.properties b/gradle.properties index 3d3fcf2170..b0364f874c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ # The setting is particularly useful for tweaking memory settings. # Ensure important default jvmargs aren't overwritten. See https://github.com/gradle/gradle/issues/19750 #org.gradle.jvmargs=-Xmx9216M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g -org.gradle.jvmargs=-Xms192g -Xmx192g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.jvmargs=-Xms128g -Xmx128g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC org.gradle.workers.max = 48 # When configured, Gradle will run in incubating parallel mode.