Skip to content

Fix/sprite frame timing #93

Fix/sprite frame timing

Fix/sprite frame timing #93

Workflow file for this run

name: Run checks
on:
push:
branches: [ main, 'release/**' ]
paths:
- '**'
- '!**.gitignore'
- '!**.md'
- '!**.github/workflows/*'
pull_request:
branches: [ main, 'release/**' ]
paths:
- '**'
- '!**.gitignore'
- '!**.md'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CI: true
DISPLAY: ":99"
JAVA_VERSION: 21
JAVA_DISTRIBUTION: zulu
ENABLE_BENCHMARKS: false
jobs:
test-linux:
timeout-minutes: 120
runs-on: ubuntu-latest
env:
DISABLE_KOTLIN_NATIVE: false
DISABLE_ANDROID: false
DISABLE_SANDBOX: false
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install freeglut3 & openal
run: sudo apt-get update && sudo apt-get -y install freeglut3-dev libopenal-dev xvfb
- name: Run Xvfb in Background
run: "Xvfb :99 &"
- name: Set up JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
with:
distribution: "${{ env.JAVA_DISTRIBUTION }}"
java-version: "${{ env.JAVA_VERSION }}" # https://github.com/actions/setup-java/releases/tag/v4.2.2
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: "Run check"
run: "./gradlew check"
env:
EGL_LOG_LEVEL: debug
LIBGL_DEBUG: verbose
LIBGL_ALWAYS_SOFTWARE: true
MESA_DEBUG: true
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: "Run Android Tests"
uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a # v2.37.0
with:
"api-level": 21
"script": "./gradlew connectedCheck"
- name: Archive Test Results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: "test-results-ubuntu-latest"
retention-days: 21
path: "**/build/reports"
if-no-files-found: ignore
test-macos:
timeout-minutes: 120
runs-on: macos-latest
env:
DISABLE_KOTLIN_NATIVE: false
DISABLE_ANDROID: true
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
with:
distribution: "${{ env.JAVA_DISTRIBUTION }}"
java-version: "${{ env.JAVA_VERSION }}"
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: "Run check"
run: "./gradlew check"
env:
EGL_LOG_LEVEL: debug
LIBGL_DEBUG: verbose
LIBGL_ALWAYS_SOFTWARE: true
MESA_DEBUG: true
- name: Archive Test Results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: "test-results-macos-latest"
retention-days: 21
path: "**/build/reports"
if-no-files-found: ignore
test-windows:
timeout-minutes: 120
runs-on: windows-latest
env:
DISABLE_KOTLIN_NATIVE: true
DISABLE_ANDROID: true
# DISABLE_SANDBOX: false # sandbox enabled for all targets
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Download and unzip opengl
shell: cmd
run: "curl -L -o opengl32-x64.zip https://github.com/korlibs/mesa-dist-win/releases/download/21.2.3/opengl32-x64.zip && unzip opengl32-x64.zip && unzip opengl32-x64.zip -d korge"
- name: Set up JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
with:
distribution: "${{ env.JAVA_DISTRIBUTION }}"
java-version: "${{ env.JAVA_VERSION }}" # https://github.com/actions/setup-java/releases/tag/v4.2.2
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: "Run check"
run: "./gradlew check"
env:
EGL_LOG_LEVEL: debug
LIBGL_DEBUG: verbose
LIBGL_ALWAYS_SOFTWARE: true
MESA_DEBUG: true
- name: Archive Test Results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: "test-results-windows-latest"
retention-days: 21
path: "**/build/reports"
if-no-files-found: ignore
e2e-linux:
timeout-minutes: 120
runs-on: ubuntu-latest
env:
DISABLE_KOTLIN_NATIVE: false
DISABLE_ANDROID: false
DISABLE_SANDBOX: false
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install freeglut3 & openal
run: sudo apt-get update && sudo apt-get -y install freeglut3-dev libopenal-dev xvfb
- name: Run Xvfb in Background
run: "Xvfb :99 &"
- name: Set up JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
with:
distribution: "${{ env.JAVA_DISTRIBUTION }}"
java-version: "${{ env.JAVA_VERSION }}"
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: Publish main project and plugins to Maven local
run: |
./gradlew \
publishToMavenLocal \
:korge-gradle-plugin:publishToMavenLocal
- name: Run e2e-test
run: "./gradlew -p e2e/e2e-test build"
env:
EGL_LOG_LEVEL: debug
LIBGL_DEBUG: verbose
LIBGL_ALWAYS_SOFTWARE: true
MESA_DEBUG: true
- name: Run e2e-test-multi
run: "./gradlew -p e2e/e2e-test-multi build"
env:
EGL_LOG_LEVEL: debug
LIBGL_DEBUG: verbose
LIBGL_ALWAYS_SOFTWARE: true
MESA_DEBUG: true
- name: Archive E2E Test Results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: "e2e-test-results-ubuntu-latest"
retention-days: 21
path: "**/build/reports"
if-no-files-found: ignore
e2e-macos-swiftui:
timeout-minutes: 120
runs-on: macos-latest
env:
DISABLE_KOTLIN_NATIVE: false
DISABLE_ANDROID: true
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
with:
distribution: "${{ env.JAVA_DISTRIBUTION }}"
java-version: "${{ env.JAVA_VERSION }}"
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: Publish main project and plugins to Maven local
run: |
./gradlew \
publishToMavenLocal \
:korge-gradle-plugin:publishToMavenLocal
- name: Run e2e SwiftUI integration
run: "./gradlew -p e2e/e2e-test-integration/swiftui/korge-hello-world check"
- name: Build Korge iOS simulator framework
run: "./gradlew -p e2e/e2e-test-integration/swiftui/korge-hello-world linkDebugFrameworkIosSimulatorArm64"
- name: Build SwiftUI Xcode integration project
run: |
xcodebuild \
-project e2e/e2e-test-integration/swiftui/SwiftUIKorgeIntegration/SwiftUIKorgeIntegration.xcodeproj \
-scheme SwiftUIKorgeIntegration \
-configuration Debug \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-derivedDataPath build/xcode-derived-data/SwiftUIKorgeIntegration \
-resultBundlePath build/xcode-results/SwiftUIKorgeIntegration.xcresult \
ARCHS=arm64 \
EXCLUDED_ARCHS=x86_64 \
ONLY_ACTIVE_ARCH=YES \
CODE_SIGNING_ALLOWED=NO \
clean build
- name: Archive E2E SwiftUI Test Results
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: "e2e-swiftui-test-results-macos-latest"
retention-days: 21
path: "**/build/reports"
if-no-files-found: ignore