Update dependency org.jetbrains.kotlin-wrappers:kotlin-extensions to v1.0.1-pre.823 #1928
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: Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
concurrency: | |
group: tests-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
DATABASE_URL: "sqlite::memory:" | |
jobs: | |
file-changes: | |
runs-on: ubuntu-latest | |
outputs: | |
android: ${{ steps.android.outputs.any_changed }} | |
client-core: ${{ steps.client-core.outputs.any_changed }} | |
client-ui: ${{ steps.client-ui.outputs.any_changed }} | |
data-models: ${{ steps.data-models.outputs.any_changed }} | |
ios: ${{ steps.ios.outputs.any_changed }} | |
web: ${{ steps.web.outputs.any_changed }} | |
server: ${{ steps.server.outputs.any_changed }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
fetch-depth: 0 | |
- name: Get changed files | |
id: android | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
build.gradle.kts | |
gradle/libsCommon.versions.toml | |
gradle/libsClient.versions.toml | |
gradle/libsAndroid.versions.toml | |
**/client/android/** | |
**/client/core/src/commonMain/** | |
**/client/core/src/commonTest/** | |
**/client/core/src/androidMain/** | |
**/client/data-models/** | |
- name: Get changed files | |
id: client-core | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
gradle/libsClient.versions.toml | |
**/client/core/** | |
**/client/data-models/** | |
- name: Get changed files | |
id: client-ui | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
gradle/libsClient.versions.toml | |
gradle/libsAndroid.versions.toml | |
**/client/ui/** | |
- name: Get changed files | |
id: data-models | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
**/client/data-models/** | |
- name: Get changed files | |
id: server | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
gradle/libsServer.versions.toml | |
**/client/data-models/** | |
**/server/** | |
- name: Get changed files | |
id: ios | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
gradle/libsClient.versions.toml | |
**/client/ios/** | |
**/client/core/src/commonMain/** | |
**/client/core/src/commonTest/** | |
**/client/core/src/iosMain/** | |
**/client/data-models/** | |
- name: Get changed files | |
id: web | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
gradle/libsCommon.versions.toml | |
gradle/libsClient.versions.toml | |
gradle/kotlin-js-store/** | |
**/client/web/** | |
**/client/core/src/commonMain/** | |
**/client/core/src/commonTest/** | |
**/client/core/src/androidMain/** | |
**/client/data-models/** | |
client-core-tests: | |
needs: [ file-changes ] | |
if: needs.file-changes.outputs.client-core == 'true' || github.ref_name == 'main' | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] #windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Build files | |
uses: actions/cache@v3 | |
if: ${{ !startsWith(matrix.os, 'windows') }} | |
with: | |
path: | | |
~/.konan | |
~/.gradle | |
key: ${{ runner.os }}-${{ hashFiles('gradle.properties') }}-v2 | |
- uses: gradle/gradle-build-action@v2 | |
name: All Tests | |
with: | |
arguments: client:core:allTests client:core:koverXmlReport | |
- name: Archive Reports | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: reports | |
path: '**/build/reports/*' | |
- name: Publish Unit Test Results | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ always() }} | |
with: | |
report_paths: '**/TEST-*.xml' | |
client-ui-tests: | |
needs: [ file-changes ] | |
if: needs.file-changes.outputs.client-ui == 'true' || github.ref_name == 'main' | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] #windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Build files | |
uses: actions/cache@v3 | |
if: ${{ !startsWith(matrix.os, 'windows') }} | |
with: | |
path: | | |
~/.konan | |
~/.gradle | |
key: ${{ runner.os }}-${{ hashFiles('gradle.properties') }}-v2 | |
- uses: gradle/gradle-build-action@v2 | |
name: All Tests | |
with: | |
arguments: client:ui:allTests client:ui:koverXmlReport | |
- name: Archive Reports | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: reports | |
path: '**/build/reports/*' | |
- name: Publish Unit Test Results | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ always() }} | |
with: | |
report_paths: '**/TEST-*.xml' | |
client-android-tests: | |
needs: [ file-changes ] | |
if: needs.file-changes.outputs.android == 'true' || github.ref_name == 'main' | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Build files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.konan | |
~/.gradle | |
key: ${{ runner.os }}-${{ hashFiles('gradle.properties') }}-v2 | |
- uses: reactivecircus/android-emulator-runner@v2 | |
name: Test Android Targets | |
with: | |
api-level: 30 | |
target: google_apis | |
arch: x86_64 | |
profile: Nexus 6 | |
script: ./gradlew connectedCheck | |
- name: Archive Reports | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: reports | |
path: '**/build/reports/*' | |
- name: Publish Unit Test Results | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ always() }} | |
with: | |
report_paths: '**/TEST-*.xml' | |
client-web-tests: | |
needs: [ file-changes ] | |
if: needs.file-changes.outputs.web == 'true' || github.ref_name == 'main' | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] # macos-latest, windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Build files | |
uses: actions/cache@v3 | |
if: ${{ !startsWith(matrix.os, 'windows') }} | |
with: | |
path: | | |
~/.konan | |
~/.gradle | |
key: ${{ runner.os }}-${{ hashFiles('gradle.properties') }}-v2 | |
- uses: gradle/gradle-build-action@v2 | |
name: Web Tests | |
with: | |
arguments: client:web:jsBrowserTest client:web:koverXmlReport | |
- name: Archive Reports | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: reports | |
path: '**/build/reports/*' | |
- name: Publish Unit Test Results | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ always() }} | |
with: | |
report_paths: '**/TEST-*.xml' | |
server-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Cache Build files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.konan | |
~/.gradle | |
key: ${{ runner.os }}-${{ hashFiles('gradle.properties') }}-v2 | |
- uses: gradle/gradle-build-action@v2 | |
name: Run Server Tests | |
with: | |
arguments: > | |
server:application:test server:application:koverXmlReport | |
server:db-models:test server:db-models:koverXmlReport | |
server:library-manager:test server:library-manager:koverXmlReport | |
server:metadata-manager:test server:metadata-manager:koverXmlReport | |
server:shared:test server:shared:koverXmlReport | |
server:stream-service:test server:stream-service:koverXmlReport | |
- name: Archive Reports | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: reports | |
path: '**/build/reports/*' | |
- name: Publish Unit Test Results | |
uses: mikepenz/action-junit-report@v4 | |
if: ${{ always() }} | |
with: | |
report_paths: '**/TEST-*.xml' | |
upload-kover-reports: | |
runs-on: ubuntu-latest | |
needs: [ server-tests, client-core-tests, client-web-tests ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download kover reports | |
uses: actions/download-artifact@v3 | |
with: | |
name: reports | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: "**/build/reports/kover/project-xml/report.xml" |