Unverified Commit 40c0ffb0 authored by Ivan Matkov's avatar Ivan Matkov Committed by GitHub

Use `macos-15` for CI checks (#1122)

It's due to
> The macOS-13 based runner images are being deprecated, consider
switching to macOS-15 (macos-15-intel) or macOS 15 arm64 (macos-latest)
instead.
parent 0d4b50d0
...@@ -11,7 +11,10 @@ on: ...@@ -11,7 +11,10 @@ on:
jobs: jobs:
macOS: macOS:
runs-on: macos-13 # On `macos-15` UI tests blocked by a system popup with
# "bash" is requesting to bypass the system private window picker and directly access your screen and audio.
# TODO: Update once resolved
runs-on: macos-14
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
name: 'Check out code' name: 'Check out code'
...@@ -42,16 +45,24 @@ jobs: ...@@ -42,16 +45,24 @@ jobs:
run: | run: |
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal -Pskiko.debug=true ./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal -Pskiko.debug=true
- uses: actions/upload-artifact@v4 - name: Upload Test Results
name: 'Save test results as artifact' uses: actions/upload-artifact@v4
if: always() if: failure()
with: with:
name: test-reports-macos name: test-reports-macos
path: ./skiko/build/reports/tests path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
retention-days: 5 retention-days: 5
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
iOS: iOS:
runs-on: macos-13 runs-on: macos-15
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
name: 'Check out code' name: 'Check out code'
...@@ -66,12 +77,10 @@ jobs: ...@@ -66,12 +77,10 @@ jobs:
- name: 'Print the devices list' - name: 'Print the devices list'
run: xcrun simctl list devices available --json run: xcrun simctl list devices available --json
# install jq - cli tool for json querying
# retrieve the device .udid to use in tests and store it in env var # retrieve the device .udid to use in tests and store it in env var
- name: 'Set Up Simulator UUID' - name: 'Set Up Simulator UUID'
run: | run: |
brew install jq && IOS_SIM_UUID=$(xcrun simctl list devices available --json | jq -r '.devices."com.apple.CoreSimulator.SimRuntime.iOS-18-4"[] | select(.name == "iPhone 16") | .udid') &&
IOS_SIM_UUID=$(xcrun simctl list devices available --json | jq -r '.devices."com.apple.CoreSimulator.SimRuntime.iOS-17-0"[] | select(.name == "iPhone 14") | .udid') &&
echo "IOS_SIM_UUID=$IOS_SIM_UUID" >> $GITHUB_ENV echo "IOS_SIM_UUID=$IOS_SIM_UUID" >> $GITHUB_ENV
- name: 'Print Selected UUID' - name: 'Print Selected UUID'
...@@ -95,16 +104,16 @@ jobs: ...@@ -95,16 +104,16 @@ jobs:
name: 'Publish to Maven Local' name: 'Publish to Maven Local'
run: ./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal run: ./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
- uses: actions/upload-artifact@v4 - name: Upload Test Results
name: 'Save test results as artifact' uses: actions/upload-artifact@v4
if: always() if: failure()
with: with:
name: test-reports-ios name: test-reports-ios
path: ./skiko/build/reports/tests path: ./skiko/build/reports/tests
retention-days: 5 retention-days: 5
tvOS: tvOS:
runs-on: macos-13 runs-on: macos-15
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
name: 'Check out code' name: 'Check out code'
...@@ -122,8 +131,9 @@ jobs: ...@@ -122,8 +131,9 @@ jobs:
# tvosSimulatorArm64Test will build the binary but the tests will be skipped due to X64 host machine # tvosSimulatorArm64Test will build the binary but the tests will be skipped due to X64 host machine
./gradlew --stacktrace --info -Pskiko.native.enabled=true -Dskiko.test.onci=true -Dskiko.test.performance.enabled=false :skiko:tvosSimulatorArm64Test ./gradlew --stacktrace --info -Pskiko.native.enabled=true -Dskiko.test.onci=true -Dskiko.test.performance.enabled=false :skiko:tvosSimulatorArm64Test
- uses: actions/upload-artifact@v4 - name: Upload Test Results
if: always() uses: actions/upload-artifact@v4
if: failure()
with: with:
name: test-reports-tvos name: test-reports-tvos
path: ./skiko/build/reports/tests path: ./skiko/build/reports/tests
...@@ -207,14 +217,6 @@ jobs: ...@@ -207,14 +217,6 @@ jobs:
./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist ./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist
./gradlew --no-daemon -Pskiko.android.enabled=true :skiko:publishSkikoJvmRuntimeAndroidX64PublicationToMavenLocal :skiko:publishSkikoJvmRuntimeAndroidArm64PublicationToMavenLocal :skiko:publishAndroidReleasePublicationToMavenLocal ./gradlew --no-daemon -Pskiko.android.enabled=true :skiko:publishSkikoJvmRuntimeAndroidX64PublicationToMavenLocal :skiko:publishSkikoJvmRuntimeAndroidArm64PublicationToMavenLocal :skiko:publishAndroidReleasePublicationToMavenLocal
- uses: actions/upload-artifact@v4
name: 'Save test results as artifact'
if: always()
with:
name: test-reports-linux
path: ./skiko/build/reports/tests
retention-days: 5
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
name: 'Save linuxArm64 test binary as artifact' name: 'Save linuxArm64 test binary as artifact'
with: with:
...@@ -223,6 +225,21 @@ jobs: ...@@ -223,6 +225,21 @@ jobs:
if-no-files-found: error if-no-files-found: error
retention-days: 5 retention-days: 5
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-linux
path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
linux-arm: linux-arm:
needs: linux needs: linux
runs-on: ubuntu-22.04-arm runs-on: ubuntu-22.04-arm
...@@ -272,14 +289,22 @@ jobs: ...@@ -272,14 +289,22 @@ jobs:
./gradlew --no-daemon --stacktrace --info :skiko:publishToMavenLocal ./gradlew --no-daemon --stacktrace --info :skiko:publishToMavenLocal
./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist ./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist
- uses: actions/upload-artifact@v4 - name: Upload Test Results
name: 'Save test results as artifact' uses: actions/upload-artifact@v4
if: always() if: failure()
with: with:
name: test-reports-linux-arm name: test-reports-linux-arm
path: ./skiko/build/reports/tests path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
retention-days: 5 retention-days: 5
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
windows: windows:
runs-on: windows-2022 runs-on: windows-2022
steps: steps:
...@@ -308,11 +333,18 @@ jobs: ...@@ -308,11 +333,18 @@ jobs:
./gradlew --stacktrace --info :skiko:publishToMavenLocal ./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :SkiaAwtSample:installDist ./gradlew --stacktrace --info :SkiaAwtSample:installDist
- uses: actions/upload-artifact@v4 - name: Upload Test Results
name: 'Save test results as artifact' uses: actions/upload-artifact@v4
if: always() if: failure()
with: with:
name: test-reports-windows name: test-reports-windows
path: ./skiko/build/reports/tests path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
retention-days: 5 retention-days: 5
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
...@@ -472,7 +472,7 @@ class SkiaLayerTest { ...@@ -472,7 +472,7 @@ class SkiaLayerTest {
} }
} }
@Test(timeout = 60000) @Test(timeout = 120000)
fun `stress test - open multiple windows`() = uiTest { fun `stress test - open multiple windows`() = uiTest {
fun window(isAnimated: Boolean) = UiTestWindow().apply { fun window(isAnimated: Boolean) = UiTestWindow().apply {
setLocation(200, 200) setLocation(200, 200)
...@@ -832,7 +832,7 @@ class SkiaLayerTest { ...@@ -832,7 +832,7 @@ class SkiaLayerTest {
val dt = renderTimes.last() - renderTimes.first() val dt = renderTimes.last() - renderTimes.first()
assertTrue( assertTrue(
actual = dt < 150, actual = dt < 200,
message = "2nd frame drawn ${dt}ms after 1st: ${renderTimes.map { it - renderTimes.first() }}}" message = "2nd frame drawn ${dt}ms after 1st: ${renderTimes.map { it - renderTimes.first() }}}"
) )
renderTimes.clear() renderTimes.clear()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment