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:
jobs:
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:
- uses: actions/checkout@v3
name: 'Check out code'
......@@ -42,16 +45,24 @@ jobs:
run: |
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal -Pskiko.debug=true
- uses: actions/upload-artifact@v4
name: 'Save test results as artifact'
if: always()
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-macos
path: ./skiko/build/reports/tests
path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
retention-days: 5
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
iOS:
runs-on: macos-13
runs-on: macos-15
steps:
- uses: actions/checkout@v3
name: 'Check out code'
......@@ -66,12 +77,10 @@ jobs:
- name: 'Print the devices list'
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
- name: 'Set Up Simulator UUID'
run: |
brew install jq &&
IOS_SIM_UUID=$(xcrun simctl list devices available --json | jq -r '.devices."com.apple.CoreSimulator.SimRuntime.iOS-17-0"[] | select(.name == "iPhone 14") | .udid') &&
IOS_SIM_UUID=$(xcrun simctl list devices available --json | jq -r '.devices."com.apple.CoreSimulator.SimRuntime.iOS-18-4"[] | select(.name == "iPhone 16") | .udid') &&
echo "IOS_SIM_UUID=$IOS_SIM_UUID" >> $GITHUB_ENV
- name: 'Print Selected UUID'
......@@ -95,16 +104,16 @@ jobs:
name: 'Publish to Maven Local'
run: ./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
- uses: actions/upload-artifact@v4
name: 'Save test results as artifact'
if: always()
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-ios
path: ./skiko/build/reports/tests
retention-days: 5
tvOS:
runs-on: macos-13
runs-on: macos-15
steps:
- uses: actions/checkout@v3
name: 'Check out code'
......@@ -122,8 +131,9 @@ jobs:
# 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
- uses: actions/upload-artifact@v4
if: always()
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-tvos
path: ./skiko/build/reports/tests
......@@ -207,14 +217,6 @@ jobs:
./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist
./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
name: 'Save linuxArm64 test binary as artifact'
with:
......@@ -223,6 +225,21 @@ jobs:
if-no-files-found: error
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:
needs: linux
runs-on: ubuntu-22.04-arm
......@@ -272,14 +289,22 @@ jobs:
./gradlew --no-daemon --stacktrace --info :skiko:publishToMavenLocal
./gradlew --no-daemon --stacktrace --info :SkiaAwtSample:installDist
- uses: actions/upload-artifact@v4
name: 'Save test results as artifact'
if: always()
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-linux-arm
path: ./skiko/build/reports/tests
path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
retention-days: 5
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "./skiko/build/test-results/**/TEST-*.xml"
if: always()
windows:
runs-on: windows-2022
steps:
......@@ -308,11 +333,18 @@ jobs:
./gradlew --stacktrace --info :skiko:publishToMavenLocal
./gradlew --stacktrace --info :SkiaAwtSample:installDist
- uses: actions/upload-artifact@v4
name: 'Save test results as artifact'
if: always()
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-windows
path: ./skiko/build/reports/tests
path: |
./skiko/build/reports/tests
./skiko/src/jvmTest/screenshots/*_actual.png
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 {
}
}
@Test(timeout = 60000)
@Test(timeout = 120000)
fun `stress test - open multiple windows`() = uiTest {
fun window(isAnimated: Boolean) = UiTestWindow().apply {
setLocation(200, 200)
......@@ -832,7 +832,7 @@ class SkiaLayerTest {
val dt = renderTimes.last() - renderTimes.first()
assertTrue(
actual = dt < 150,
actual = dt < 200,
message = "2nd frame drawn ${dt}ms after 1st: ${renderTimes.map { it - renderTimes.first() }}}"
)
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