Skip to content

Add libraries for Kotlin 2.1.0. #312

Add libraries for Kotlin 2.1.0.

Add libraries for Kotlin 2.1.0. #312

Workflow file for this run

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