Skip to content

Conversation

vegaro
Copy link
Contributor

@vegaro vegaro commented Jul 18, 2025

build-test-deploy times down to 17 min from 37 min

  • split tests in different jobs per flavor
  • remove android dependencies download
  • prebuild stuff before running tests

@vegaro vegaro marked this pull request as draft July 18, 2025 09:53
@vegaro vegaro added pr:other and removed codex labels Jul 18, 2025
Copy link

codecov bot commented Jul 18, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.26%. Comparing base (85fdf41) to head (f13f7bb).
Report is 11 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2549   +/-   ##
=======================================
  Coverage   78.26%   78.26%           
=======================================
  Files         291      291           
  Lines       10784    10784           
  Branches     1507     1507           
=======================================
  Hits         8440     8440           
  Misses       1692     1692           
  Partials      652      652           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vegaro vegaro changed the title Enable CircleCI parallel test splitting Parallel test jobs Jul 23, 2025
@vegaro vegaro marked this pull request as ready for review July 23, 2025 16:28
@vegaro vegaro requested a review from a team July 23, 2025 16:29
Copy link
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️ ❤️ ❤️

command: ./gradlew purchases:koverHtmlReportDefaultsRelease
- run:
name: Kover XML
name: Generate Kover XML
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we're only using Kover for the defaults release flavor right? I guess this could leave some paths untested even if they are actually tested... but I don't have a better idea right now, so I'm ok with this 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right! I noticed that the other day as well, that's mainly why I asked about revisiting it. Let's leave it as is since that's what we had yeah

@vegaro vegaro merged commit ae720d4 into main Jul 24, 2025
18 checks passed
@vegaro vegaro deleted the codex/split-tests-for-parallel-execution-in-ci branch July 24, 2025 07:01
Copy link
Member

@JayShortway JayShortway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this! Finally some much needed CI improvements 😄

(My comments are just suggestions, as this is already merged.)

Comment on lines +316 to 332
<<: *android-executor
shell: /bin/bash --login -o pipefail
steps:
- checkout
- attach_workspace:
at: .
- android/restore_gradle_cache
- run:
name: Run CEC Release Tests
command: ./gradlew testCustomEntitlementComputationReleaseUnitTest --parallel --no-daemon
- run:
name: Collect JUnit XMLs
command: |
mkdir -p build/test-results
find . -type f -regex ".*/build/test-results/.*xml" -exec cp --parents {} build/test-results/ \;
- store_test_results:
path: build/test-results
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This job is copied a few times if I'm reading it correctly. Maybe we can extract it to a command, which takes a gradleTask parameter or something?

Comment on lines +241 to +244
- persist_to_workspace:
root: .
paths:
- .
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How long does this take? We could use save-incremental-gradle-build-to-workspace to only persist the relevant directories.

github-merge-queue bot pushed a commit that referenced this pull request Jul 31, 2025
…f tests (#2569)

#2549 split tests but it had a difference missing around 3000 tests
compared to the previous test logic.

After some debugging I realized we were missing a module's test
`dokka-hide-internal`. When adding that I realized that it was reporting
6 tests, but we only have 3 tests in there. That helped me realize we
had an issue storing tests, and we were double counting them.
tonidero pushed a commit that referenced this pull request Aug 1, 2025
**This is an automatic release.**

## RevenueCat SDK
### 🐞 Bugfixes
* Add lifetime badge to customer center (#2565) via Cesar de la Vega
(@vegaro)
### Customer Center
#### ✨ New Features
* Introduce custom actions for customer center (#2572) via Facundo
Menzella (@facumenzella)

## RevenueCatUI SDK
### ✨ New Features
* Add support for az-AZ locale (#2575) via Franco Correa
(@francocorreasosa)
### Customer Center
#### 🐞 Bugfixes
* Display latest expired subscription if no active subscriptions (#2564)
via Cesar de la Vega (@vegaro)

### 🔄 Other Changes
* Expose getStorefront APIs in CustomEntitlementComputation flavor
(#2579) via Toni Rico (@tonidero)
* [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule
(#2578) via RevenueCat Git Bot (@RCGitBot)
* Add missing dokka-hide-internal tests to CI and fix reported number of
tests (#2569) via Cesar de la Vega (@vegaro)
* [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule
(#2574) via RevenueCat Git Bot (@RCGitBot)
* Convert WebBilling products into TestStoreProducts (#2573) via Toni
Rico (@tonidero)
* Add WebBillingGetProducts endpoint (#2571) via Toni Rico (@tonidero)
* Remove TestStoreProduct purchase check (#2570) via Toni Rico
(@tonidero)
* Improve 9.0.0 changelog (#2568) via Toni Rico (@tonidero)
* [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule
(#2567) via RevenueCat Git Bot (@RCGitBot)
* Parallel test jobs (#2549) via Cesar de la Vega (@vegaro)

Co-authored-by: revenuecat-ops <ops@revenuecat.com>
tonidero pushed a commit that referenced this pull request Aug 25, 2025
tonidero pushed a commit that referenced this pull request Aug 25, 2025
…f tests (#2569)

#2549 split tests but it had a difference missing around 3000 tests
compared to the previous test logic.

After some debugging I realized we were missing a module's test
`dokka-hide-internal`. When adding that I realized that it was reporting
6 tests, but we only have 3 tests in there. That helped me realize we
had an issue storing tests, and we were double counting them.
@tonidero tonidero mentioned this pull request Aug 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants