Fix/sprite frame timing #93
Workflow file for this run
This file contains hidden or 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: 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 |