Fix Gradle tests. #315
This file contains 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: Smoke Tests | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request_target: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
linkage: | |
type: choice | |
options: | |
- static | |
- dynamic | |
required: true | |
default: static | |
description: | |
'The linkage mode to use for the tests. "static" will produce static frameworks, "dynamic" will produce dynamic frameworks.' | |
configuration: | |
type: choice | |
options: | |
- debug | |
- release | |
required: true | |
default: debug | |
description: | |
'The configuration to use for the tests. "release" will produce release builds, "debug" will produce debug builds (type mapping tests currently always use release).' | |
target: | |
type: choice | |
options: | |
- ios_arm64 | |
- ios_x64 | |
- ios_simulator_arm64 | |
- macos_arm64 | |
- macos_x64 | |
required: true | |
default: ios_arm64 | |
description: | |
'The target to use for the type mapping tests.' | |
permissions: | |
contents: read | |
checks: write | |
concurrency: | |
group: ci-smoke-tests-${{ github.ref }} | |
jobs: | |
acceptance-tests: | |
name: Acceptance Tests | |
runs-on: self-hosted | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.ACCEPTANCE_TESTS_TOKEN }} | |
- name: Prepare Worker | |
uses: ./.github/actions/prepare-worker | |
- name: Run Acceptance Tests | |
uses: gradle/[email protected] | |
with: | |
arguments: ':acceptance-tests:functional:kgp_latestTest' | |
build-root-directory: SKIE | |
env: | |
KOTLIN_LINK_MODE: ${{ inputs.linkage }} | |
KOTLIN_BUILD_CONFIGURATION: ${{ inputs.configuration }} | |
# Log size can be too large which causes significant performance issues | |
# - name: Publish Test Report | |
# uses: mikepenz/action-junit-report@v3 | |
# if: ${{ failure() || success() }} | |
# with: | |
# check_name: "Smoke Test Reports - Functional Tests" | |
# report_paths: 'SKIE/acceptance-tests/build/test-results/functional__*/TEST-*.xml' | |
# require_tests: true | |
type-mapping-tests: | |
name: Type Mapping Tests | |
runs-on: self-hosted | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.ACCEPTANCE_TESTS_TOKEN }} | |
- name: Prepare Worker | |
uses: ./.github/actions/prepare-worker | |
- name: Run Type Mapping Tests | |
uses: gradle/[email protected] | |
id: run-tests | |
with: | |
arguments: ':acceptance-tests:type-mapping:kgp_latestTest' | |
build-root-directory: SKIE | |
env: | |
KOTLIN_LINK_MODE: ${{ inputs.linkage }} | |
KOTLIN_TARGET: ${{ inputs.target }} | |
KOTLIN_BUILD_CONFIGURATION: ${{ inputs.configuration }} | |
# Log size can be too large which causes significant performance issues | |
# - name: Publish Test Report | |
# uses: mikepenz/action-junit-report@v3 | |
# if: ${{ (failure() || success()) && steps.run-tests.outcome != 'skipped' }} | |
# with: | |
# check_name: "Smoke Test Reports - Type Mapping Tests" | |
# report_paths: 'SKIE/acceptance-tests/build/test-results/type-mapping__*/TEST-*.xml' | |
# require_tests: true | |
external-libraries-tests: | |
name: External Libraries Tests | |
needs: [acceptance-tests] | |
runs-on: self-hosted | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.ACCEPTANCE_TESTS_TOKEN }} | |
- name: Prepare Worker | |
uses: ./.github/actions/prepare-worker | |
- name: Run External Libraries Tests | |
uses: gradle/[email protected] | |
with: | |
arguments: ':acceptance-tests:libraries:kgp_latestTest' | |
build-root-directory: SKIE | |
env: | |
KOTLIN_LINK_MODE: ${{ inputs.linkage }} | |
KOTLIN_BUILD_CONFIGURATION: ${{ inputs.configuration }} | |
# Log size can be too large which causes significant performance issues | |
# - name: Publish Test Report | |
# uses: mikepenz/action-junit-report@v3 | |
# if: ${{ failure() || success() }} | |
# with: | |
# check_name: "Smoke Test Reports - External Libraries Tests" | |
# report_paths: 'SKIE/acceptance-tests/build/test-results/libraries__*/TEST-*.xml' | |
# require_tests: true | |
gradle-tests: | |
name: Gradle Tests | |
runs-on: self-hosted | |
needs: [external-libraries-tests] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.ACCEPTANCE_TESTS_TOKEN }} | |
- name: Prepare Worker | |
uses: ./.github/actions/prepare-worker | |
- name: Run Gradle Tests | |
uses: gradle/[email protected] | |
id: run-tests | |
with: | |
arguments: >- | |
:test | |
-PtestLevel=smoke | |
-PtestType=gradle | |
"-Pmatrix.targets=${{ inputs.target || 'macosArm64' }}" | |
"-Pmatrix.configurations=${{ inputs.configuration || 'debug' }}" | |
"-Pmatrix.linkModes=${{ inputs.linkage || 'static' }}" | |
build-root-directory: test-runner | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ failure() || success() }} | |
with: | |
check_name: "Smoke Test Reports - Gradle Tests" | |
report_paths: 'test-runner/build/test-results/test/TEST-*.xml' | |
require_tests: true |