@@ -14,17 +14,39 @@ concurrency:
1414permissions :
1515 contents : read
1616
17+ env :
18+ DEPOT_RUNNER : depot-ubuntu-24.04-8
19+
1720jobs :
18- gradle-test :
21+ environment :
1922 runs-on : ubuntu-latest
23+ outputs :
24+ where : ${{ steps.choose.outputs.where }}
25+ steps :
26+ - id : choose
27+ run : |
28+ if [ ${GITHUB_ACTOR} != 'dependabot[bot]' ]; then
29+ echo "where=${DEPOT_RUNNER}" >> $GITHUB_OUTPUT
30+ else
31+ echo "where=ubuntu-latest" >> $GITHUB_OUTPUT
32+ fi
33+
34+ gradle :
35+ needs : environment
36+ runs-on : ${{ needs.environment.outputs.where }}
2037 timeout-minutes : 60
38+ strategy :
39+ matrix :
40+ gradle-task : ['test', 'assembleRelease', 'bundleReleaseExampleApp']
41+ fail-fast : false
2142 steps :
2243 - name : Free Disk Space (Ubuntu)
2344 uses : jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
45+ if : ${{ needs.environment.outputs.where == 'ubuntu-latest' }}
2446 with :
2547 tool-cache : false
26- # keep android packages
2748 android : false
49+
2850 - name : Checkout Branch
2951 uses : actions/checkout@v4
3052 with :
@@ -51,21 +73,32 @@ jobs:
5173 - name : Fetch Robolectric dependencies
5274 run : /bin/sh .github/fetch-robolectric-dependencies.sh
5375
54- # Build the entire project, run the tests, and run all static analysis
55- - name : Gradle Build
76+ - name : Gradle (embrace-gradle-plugin-integration-tests:test)
77+ if : ${{ matrix.gradle-task == 'test' }}
78+ run : ./gradlew embrace-gradle-plugin-integration-tests:test --stacktrace
79+
80+ - name : Gradle (assembleRelease check -x embrace-gradle-plugin-integration-tests:test)
81+ if : ${{ matrix.gradle-task == 'assembleRelease' }}
5682 run : ./gradlew assembleRelease check -x embrace-gradle-plugin-integration-tests:test --stacktrace
5783
84+ - name : Gradle (assembleRelease check -x embrace-gradle-plugin-integration-tests:test)
85+ if : ${{ matrix.gradle-task == 'bundleReleaseExampleApp' }}
86+ working-directory : examples/ExampleApp
87+ run : ./gradlew bundleRelease
88+
5889 - name : Archive Test Results
59- if : ${{ always() }}
90+ if : ${{ always() && matrix.gradle-task != 'bundleReleaseExampleApp' }}
6091 uses : actions/upload-artifact@v4
6192 with :
62- name : test-results
93+ name : test-results-${{ matrix.gradle-task }}
6394 path : ' **/build/reports/tests/**'
6495
6596 - name : Run Kover Code Coverage
97+ if : ${{ matrix.gradle-task == 'assembleRelease' }}
6698 run : ./gradlew koverXmlReportRelease
6799
68100 - uses : codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
101+ if : ${{ matrix.gradle-task == 'assembleRelease' }}
69102 with :
70103 token : ${{ secrets.CODECOV_TOKEN }}
71104 fail_ci_if_error : false
0 commit comments