mirror of
https://github.com/bitsycore/skiko.git
synced 2026-10-07 23:47:26 +00:00
* SkiaLayerAnalytics - send events for different steps of rendering It will help us to detect GPU's, on which we have crashes. After we compare two events, we can investigate GPU, and if the issue only in it, we will add it to not-supported-adapter.list The plan to integrate this analytics to Toolbox. * Fix build * Disable performance tests on CI CI can have different performance for different runs. Currently we have failing vsync tests for Windows * Fix analytics test on github actions * Fix CI
164 lines
6.5 KiB
YAML
164 lines
6.5 KiB
YAML
# Default Skiko CI
|
|
name: CI
|
|
|
|
# Controls when the action will run.
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the master branch
|
|
push:
|
|
branches: [ master ]
|
|
# TODO: temporary for faster tests, restore!
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
macos:
|
|
# The type of runner that the job will run on
|
|
runs-on: macos-11
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- shell: bash
|
|
run: |
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true -Pskiko.test.onci=true :skiko:awtTest
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true -Pskiko.test.onci=true :skiko:macosX64Test
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
|
|
./gradlew --stacktrace --info :SkiaAwtSample:installDist # check AWT sample works
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: test-reports-macos
|
|
path: ./skiko/build/reports/tests
|
|
retention-days: 5
|
|
|
|
ios:
|
|
# The type of runner that the job will run on
|
|
runs-on: macos-11
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- shell: bash
|
|
run: |
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true -Pskiko.test.onci=true :skiko:iosX64Test
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true :skiko:publishToMavenLocal
|
|
# TODO run iOS specific tests on iPhone simulator
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: test-reports-macos
|
|
path: ./skiko/build/reports/tests
|
|
retention-days: 5
|
|
|
|
linux:
|
|
runs-on: ubuntu-20.04
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- uses: nttld/setup-ndk@v1
|
|
id: setup-ndk
|
|
with:
|
|
ndk-version: r21e
|
|
- uses: android-actions/setup-android@v2
|
|
# Runs a set of commands using the runners shell
|
|
- shell: bash
|
|
env:
|
|
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
|
run: |
|
|
# TODO: simplify installation of compilers.
|
|
sudo apt-get update -y
|
|
sudo apt-get install build-essential software-properties-common -y
|
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
|
sudo apt-get update -y
|
|
sudo apt-get install build-essential software-properties-common -y
|
|
sudo apt-get update
|
|
sudo apt-get install gcc-9 g++-9 -y
|
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
|
|
sudo update-alternatives --config gcc
|
|
sudo apt-get install ninja-build fontconfig libfontconfig1-dev libglu1-mesa-dev libxrandr-dev libdbus-1-dev zip xvfb -y
|
|
sudo Xvfb :0 -screen 0 1280x720x24 &
|
|
export DISPLAY=:0
|
|
./gradlew --stacktrace --info -Pskiko.native.enabled=true -Pkotlin.native.cacheKind.linuxX64=none -Pskiko.test.onci=true :skiko:linuxX64Test :skiko:awtTest
|
|
./gradlew --stacktrace --info -Pkotlin.native.cacheKind.linuxX64=none :skiko:publishToMavenLocal
|
|
./gradlew --stacktrace --info :SkiaAwtSample:installDist # check jvm sample works
|
|
./gradlew -Pskiko.android.enabled=true :skiko:publishSkikoJvmRuntimeAndroidX64PublicationToMavenLocal :skiko:publishSkikoJvmRuntimeAndroidArm64PublicationToMavenLocal :skiko:publishAndroidPublicationToMavenLocal
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: test-reports-linux
|
|
path: ./skiko/build/reports/tests
|
|
retention-days: 5
|
|
|
|
js:
|
|
runs-on: ubuntu-20.04
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
# Runs a set of commands using the runners shell
|
|
- shell: bash
|
|
run: |
|
|
cd ./skiko
|
|
sudo apt-get update -y
|
|
sudo apt-get install binutils build-essential -y
|
|
sudo apt-get install software-properties-common -y
|
|
sudo apt-get install python git curl wget -y
|
|
if [ -d ./emsdk ]; then
|
|
cd ./emsdk
|
|
git pull
|
|
else
|
|
git clone https://github.com/emscripten-core/emsdk.git
|
|
cd ./emsdk
|
|
fi
|
|
./emsdk install 2.0.29
|
|
./emsdk activate 2.0.29
|
|
source ./emsdk_env.sh
|
|
cd ..
|
|
./gradlew --stacktrace --info -Pskiko.wasm.enabled=true -Pskiko.test.onci=true jsTest
|
|
./gradlew --stacktrace --info -Pskiko.wasm.enabled=true publishSkikoWasmRuntimePublicationToMavenLocal
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: test-reports-js
|
|
path: ./skiko/build/reports/tests
|
|
retention-days: 5
|
|
|
|
windows:
|
|
runs-on: windows-2019
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: microsoft/setup-msbuild@v1
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- shell: bash
|
|
run: |
|
|
./gradlew --stacktrace --info -Pskiko.test.onci=true :skiko:awtTest
|
|
./gradlew --stacktrace --info :skiko:publishToMavenLocal
|
|
./gradlew --stacktrace --info :SkiaAwtSample:installDist # check jvm sample works
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: test-reports-windows
|
|
path: ./skiko/build/reports/tests
|
|
retention-days: 5
|
|
|