Clean up Test Specification in our Github Actions #5670
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Kotlin CI | |
on: | |
pull_request: | |
merge_group: | |
env: | |
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL: 720 # 12 minutes; default is 20s | |
# If CI is already running for a branch when that branch is updated, cancel the older jobs. | |
concurrency: | |
group: ci-${{ github.ref }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
build-all: | |
name: Build all | |
runs-on: workflow-kotlin-test-runner-ubuntu-4core | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: main build | |
uses: ./.github/actions/gradle-task | |
with: | |
task: compileKotlin assembleDebug | |
write-cache-key: main-build-artifacts | |
dokka: | |
name: Dokka | |
runs-on: ubuntu-latest | |
needs: build-all | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Run dokka to validate kdoc | |
uses: ./.github/actions/gradle-task | |
with: | |
task: siteDokka | |
write-cache-key: main-build-artifacts | |
shards-and-version: | |
name: Shard Matrix Yaml | |
runs-on: workflow-kotlin-test-runner-ubuntu-4core | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# We use the workflow-pr-fixer app to authenticate and get a token that will cause the workflow | |
# to be triggered again. | |
- name: Generate App Token | |
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 | |
if: ${{ vars.APP_ID != '' }} | |
id: app-token | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
- name: Check Yaml for Version | |
uses: ./.github/actions/gradle-task-with-commit | |
with: | |
check-task: connectedCheckShardMatrixYamlCheck checkVersionIsSnapshot | |
fix-task: connectedCheckShardMatrixYamlUpdate checkVersionIsSnapshot | |
write-cache-key: build-logic | |
access-token: ${{ steps.app-token.outputs.token || '' }} | |
artifacts-check: | |
name: ArtifactsCheck | |
# the `artifactsCheck` task has to run on macOS in order to see the iOS KMP artifacts | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# We use the workflow-pr-fixer app to authenticate and get a token that will cause the workflow | |
# to be triggered again. | |
- name: Generate App Token | |
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 | |
if: ${{ vars.APP_ID != '' }} | |
id: app-token | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
- name: check published artifacts | |
uses: ./.github/actions/gradle-task-with-commit | |
with: | |
check-task: artifactsCheck | |
fix-task: artifactsDump | |
write-cache-key: build-logic | |
access-token: ${{ steps.app-token.outputs.token || '' }} | |
dependency-guard: | |
name: Dependency Guard | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# We use the workflow-pr-fixer app to authenticate and get a token that will cause the workflow | |
# to be triggered again. | |
- name: Generate App Token | |
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 | |
if: ${{ vars.APP_ID != '' }} | |
id: app-token | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
# If the PR was made by a maintainer or Renovate, automatically update baselines and push | |
# so that no one has to check out the branch and update the baselines manually. | |
- name: dependency-guard | |
uses: ./.github/actions/gradle-task-with-commit | |
with: | |
check-task: dependencyGuard --refresh-dependencies | |
fix-task: dependencyGuardBaseline --refresh-dependencies | |
write-cache-key: build-logic | |
access-token: ${{ steps.app-token.outputs.token || '' }} | |
ktlint: | |
name: KtLint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# We use the workflow-pr-fixer app to authenticate and get a token that will cause the workflow | |
# to be triggered again. | |
- name: Generate App Token | |
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 | |
if: ${{ vars.APP_ID != '' }} | |
id: app-token | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
# If the PR was made by a maintainer or Renovate, automatically format and push | |
# so that no one has to check out the branch and do it manually. | |
- name: KtLint | |
uses: ./.github/actions/gradle-task-with-commit | |
with: | |
check-task: ktLintCheck | |
fix-task: ktLintFormat | |
write-cache-key: build-logic | |
access-token: ${{ steps.app-token.outputs.token || '' }} | |
api-check: | |
name: Api check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# We use the workflow-pr-fixer app to authenticate and get a token that will cause the workflow | |
# to be triggered again. | |
- name: Generate App Token | |
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2 | |
if: ${{ vars.APP_ID != '' }} | |
id: app-token | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
# If the PR was made by a maintainer or Renovate, automatically format and push | |
# so that no one has to check out the branch and do it manually. | |
- name: binary compatibility | |
uses: ./.github/actions/gradle-task-with-commit | |
with: | |
check-task: apiCheck | |
fix-task: apiDump | |
write-cache-key: build-logic | |
access-token: ${{ steps.app-token.outputs.token || '' }} | |
android-lint: | |
name: Android Lint | |
runs-on: ubuntu-latest | |
needs: build-all | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Lint via gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: lint | |
write-cache-key: main-build-artifacts | |
tutorials: | |
name: Build Tutorials | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
# These setup steps should be common across all jobs in this workflow. | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: build tutorials | |
uses: ./.github/actions/gradle-task | |
with: | |
task: build | |
build-root-directory: samples/tutorial | |
restore-cache-key: main-build-artifacts | |
unit-tests: | |
name: General Unit Tests (not KMP) | |
runs-on: macos-latest | |
needs: build-all | |
timeout-minutes: 40 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: allTests via gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: | | |
allTests | |
test | |
--continue | |
restore-cache-key: build-logic | |
write-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-drainExclusive-runtime-tests: | |
name: DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: test via Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-runtime-tests: | |
name: CSR Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: test via Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-stateChange-runtime-tests: | |
name: SCO Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: test via Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=stateChange | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-stable-handlers-tests: | |
name: SEH Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=stable | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-partial-runtime-tests: | |
name: PTR Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=partial | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-stateChange-runtime-tests: | |
name: SCO, CSR Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate-stateChange | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-partial-runtime-tests: | |
name: CSR, PTR Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate-partial | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-drainExclusive-runtime-tests: | |
name: CSR, DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate-drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-stateChange-drainExclusive-runtime-tests: | |
name: SCO, DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=stateChange-drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-partial-drainExclusive-runtime-tests: | |
name: PTR, DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=partial-drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-stateChange-drainExclusive-runtime-tests: | |
name: SCO, CSR, DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate-stateChange-drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-conflate-partial-drainExclusive-runtime-tests: | |
name: CSR, PTR, DEA Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=conflate-partial-drainExclusive | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
unit-all-runtime-tests: | |
name: ALL Optimizations Unit Tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Test with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: test --continue -Pworkflow.runtime=all | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
kmp-jvm-tests: | |
name: JVM Tests for KMP Modules | |
runs-on: macos-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Check with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: jvmTest --continue | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
kmp-ios-tests: | |
name: iOS Tests for KMP Modules | |
runs-on: macos-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Check with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: iosSimulatorArm64Test | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
kmp-js-tests: | |
name: JS Tests | |
runs-on: macos-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
## JS Specific Tests (for KMP js actuals in core and runtime). | |
- name: Check with Gradle | |
uses: ./.github/actions/gradle-task | |
with: | |
task: jsBrowserTest | |
restore-cache-key: main-build-artifacts | |
# Report as GitHub Pull Request Check. | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@db71d41eb79864e25ab0337e395c352e84523afe # v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/build/test-results/*[tT]est/TEST-*.xml' | |
performance-tests: | |
name: Performance tests | |
runs-on: workflow-kotlin-test-runner-ubuntu-4core | |
timeout-minutes: 45 | |
strategy: | |
# Allow tests to continue on other devices if they fail on one device. | |
fail-fast: false | |
matrix: | |
api-level: | |
- 31 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Instrumented tests | |
uses: ./.github/actions/gradle-tasks-with-emulator | |
with: | |
tests-name: perf-tests-results | |
api-level: ${{ matrix.api-level }} | |
prepare-task: :benchmarks:performance-poetry:complex-poetry:prepareDebugAndroidTestArtifacts | |
test-task: :benchmarks:performance-poetry:complex-poetry:connectedCheck --continue | |
restore-cache-key: androidTest-build-artifacts | |
instrumentation-tests: | |
name: Instrumentation tests | |
runs-on: workflow-kotlin-test-runner-ubuntu-4core | |
timeout-minutes: 60 | |
strategy: | |
# Allow tests to continue on other devices if they fail on one device. | |
fail-fast: false | |
matrix: | |
api-level: | |
- 31 | |
### <start-connected-check-shards> | |
shardNum: [ 1, 2, 3 ] | |
### <end-connected-check-shards> | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Instrumented tests | |
uses: ./.github/actions/gradle-tasks-with-emulator | |
with: | |
tests-name: core-tests-results-${{matrix.shardNum}} | |
api-level: ${{ matrix.api-level }} | |
prepare-task: prepareConnectedCheckShard${{matrix.shardNum}} | |
test-task: connectedCheckShard${{matrix.shardNum}} -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck | |
write-cache-key: androidTest-build-artifacts-${{matrix.shardNum}} | |
restore-cache-key: main-build-artifacts | |
runtime-instrumentation-tests: | |
name: Alternate Runtime Instrumentation tests | |
runs-on: workflow-kotlin-test-runner-ubuntu-4core | |
timeout-minutes: 60 | |
strategy: | |
# Allow tests to continue on other devices if they fail on one device. | |
fail-fast: false | |
matrix: | |
api-level: | |
- 31 | |
### <start-connected-check-shards> | |
shardNum: [ 1, 2, 3 ] | |
### <end-connected-check-shards> | |
runtime: [ conflate, stateChange, drainExclusive, conflate-stateChange, partial, conflate-partial, stable, conflate-drainExclusive, stateChange-drainExclusive, partial-drainExclusive, conflate-partial-drainExclusive, all ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Instrumented tests | |
uses: ./.github/actions/gradle-tasks-with-emulator | |
with: | |
tests-name: alt-runtime-tests-results-${{matrix.runtime}}-${{matrix.shardNum}} | |
api-level: ${{ matrix.api-level }} | |
prepare-task: prepareConnectedCheckShard${{matrix.shardNum}} -Pworkflow.runtime=${{matrix.runtime}} | |
test-task: connectedCheckShard${{matrix.shardNum}} -Pworkflow.runtime=${{matrix.runtime}} -x :benchmarks:dungeon-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-benchmark:connectedCheck -x :benchmarks:performance-poetry:complex-poetry:connectedCheck | |
write-cache-key: androidTest-build-artifacts-${{matrix.shardNum}}-${{matrix.runtime}} | |
restore-cache-key: main-build-artifacts | |
all-green: | |
if: always() | |
runs-on: ubuntu-latest | |
needs: | |
- android-lint | |
- api-check | |
- artifacts-check | |
- dependency-guard | |
- dokka | |
- unit-tests | |
- instrumentation-tests | |
- kmp-jvm-tests | |
- kmp-ios-tests | |
- kmp-js-tests | |
- unit-drainExclusive-runtime-tests | |
- unit-conflate-runtime-tests | |
- unit-stateChange-runtime-tests | |
- unit-stable-handlers-tests | |
- unit-partial-runtime-tests | |
- unit-conflate-stateChange-runtime-tests | |
- unit-conflate-partial-runtime-tests | |
- unit-conflate-drainExclusive-runtime-tests | |
- unit-stateChange-drainExclusive-runtime-tests | |
- unit-partial-drainExclusive-runtime-tests | |
- unit-conflate-stateChange-drainExclusive-runtime-tests | |
- unit-conflate-partial-drainExclusive-runtime-tests | |
- unit-all-runtime-tests | |
- ktlint | |
- performance-tests | |
- runtime-instrumentation-tests | |
- shards-and-version | |
- tutorials | |
steps: | |
- name: require that all other jobs have passed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |