Fix Windows APP Folder. Fix #1121 #4221
Workflow file for this run
This file contains 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
# This file was generated using Kotlin DSL (.github/workflows/src.main.kts). | |
# If you want to modify the workflow, please change the Kotlin file and regenerate this YAML file. | |
# Generated with https://github.com/typesafegithub/github-workflows-kt | |
name: 'Build' | |
on: | |
push: | |
paths-ignore: | |
- '**/*.md' | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
jobs: | |
build_self-hosted-windows-10: | |
name: 'Build (Windows 10 x86_64 (Self-Hosted))' | |
runs-on: | |
- 'self-hosted' | |
- 'Windows' | |
- 'X64' | |
permissions: | |
actions: 'write' | |
if: '${{ github.repository == ''open-ani/animeko'' }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
with: | |
submodules: 'recursive' | |
- id: 'step-1' | |
name: 'Setup JBR 21 for other OS' | |
uses: 'gmitch215/setup-java@6d2c5e1f82f180ae79f799f0ed6e3e5efb4e664d' | |
with: | |
java-version: '21' | |
distribution: 'jetbrains' | |
env: | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
- id: 'step-2' | |
run: 'echo "jvm.toolchain.version=21" >> local.properties' | |
- id: 'step-3' | |
name: 'Setup Gradle' | |
uses: 'gradle/actions/setup-gradle@v3' | |
with: | |
cache-disabled: 'true' | |
- id: 'step-4' | |
name: 'Clean and download dependencies' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '3' | |
command: './gradlew "--stacktrace" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx6g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-5' | |
name: 'Update dev version name' | |
run: './gradlew updateDevVersionNameFromGit "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx6g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-6' | |
name: 'Compile Kotlin' | |
run: './gradlew compileKotlin compileCommonMainKotlinMetadata compileDebugKotlinAndroid compileReleaseKotlinAndroid compileJvmMainKotlinMetadata compileKotlinDesktop compileKotlinMetadata "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx6g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-7' | |
name: 'Check' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '2' | |
command: './gradlew check "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx6g" "--parallel" "-Pani.android.abis=x86_64"' | |
build_github-windows-2019: | |
name: 'Build (Windows Server 2019 x86_64)' | |
runs-on: | |
- 'windows-2019' | |
permissions: | |
actions: 'write' | |
outputs: | |
windowsX64PortableSuccess: '${{ steps.step-10.outcome == ''success'' }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
with: | |
submodules: 'recursive' | |
- id: 'step-1' | |
name: 'Setup JBR 21 for other OS' | |
uses: 'gmitch215/setup-java@6d2c5e1f82f180ae79f799f0ed6e3e5efb4e664d' | |
with: | |
java-version: '21' | |
distribution: 'jetbrains' | |
env: | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
- id: 'step-2' | |
run: 'echo "jvm.toolchain.version=21" >> local.properties' | |
- id: 'step-3' | |
name: 'Setup Gradle' | |
uses: 'gradle/actions/setup-gradle@v3' | |
with: | |
cache-disabled: 'true' | |
- id: 'step-4' | |
name: 'Clean and download dependencies' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '3' | |
command: './gradlew "--stacktrace" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-5' | |
name: 'Update dev version name' | |
run: './gradlew updateDevVersionNameFromGit "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-6' | |
name: 'Compile Kotlin' | |
run: './gradlew compileKotlin compileCommonMainKotlinMetadata compileDebugKotlinAndroid compileReleaseKotlinAndroid compileJvmMainKotlinMetadata compileKotlinDesktop compileKotlinMetadata "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-7' | |
name: 'Check' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '2' | |
command: './gradlew check "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-8' | |
name: 'Package Desktop' | |
run: './gradlew createReleaseDistributable "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DBoost_INCLUDE_DIR=C:/vcpkg/installed/x64-windows/include" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=x86_64"' | |
- id: 'step-9' | |
name: 'Upload compose logs' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'compose-logs-github-windows-2019' | |
path: 'app/desktop/build/compose/logs' | |
- id: 'step-10' | |
name: 'Upload Windows packages' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-windows-portable' | |
path: 'app/desktop/build/compose/binaries/main-release/app' | |
if-no-files-found: 'error' | |
overwrite: 'true' | |
build_github-macos-13: | |
name: 'Build (macOS 13 x86_64 (GitHub))' | |
runs-on: | |
- 'macos-13' | |
permissions: | |
actions: 'write' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
with: | |
submodules: 'recursive' | |
- id: 'step-1' | |
name: 'Free space for macOS' | |
continue-on-error: true | |
run: 'chmod +x ./ci-helper/free-space-macos.sh && ./ci-helper/free-space-macos.sh' | |
- id: 'step-2' | |
name: 'Setup JBR 21 for other OS' | |
uses: 'gmitch215/setup-java@6d2c5e1f82f180ae79f799f0ed6e3e5efb4e664d' | |
with: | |
java-version: '21' | |
distribution: 'jetbrains' | |
env: | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
- id: 'step-3' | |
run: 'echo "jvm.toolchain.version=21" >> local.properties' | |
- id: 'step-4' | |
run: 'chmod -R 777 .' | |
- id: 'step-5' | |
name: 'Setup Gradle' | |
uses: 'gradle/actions/setup-gradle@v3' | |
with: | |
cache-disabled: 'true' | |
- id: 'step-6' | |
name: 'Clean and download dependencies' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '3' | |
command: './gradlew "--stacktrace" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
- id: 'step-7' | |
name: 'Update dev version name' | |
run: './gradlew updateDevVersionNameFromGit "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
- id: 'step-8' | |
name: 'Prepare signing key' | |
continue-on-error: true | |
uses: 'timheuer/[email protected]' | |
with: | |
fileName: 'android_signing_key' | |
fileDir: './' | |
encodedString: '${{ secrets.SIGNING_RELEASE_STOREFILE }}' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (!(github.event_name == ''pull_request'')) }}' | |
- id: 'step-9' | |
name: 'Compile Kotlin' | |
run: './gradlew compileKotlin compileCommonMainKotlinMetadata compileDebugKotlinAndroid compileReleaseKotlinAndroid compileJvmMainKotlinMetadata compileKotlinDesktop compileKotlinMetadata "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
- id: 'step-10' | |
name: 'Build Android Debug APKs' | |
run: './gradlew assembleDebug "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
- id: 'step-11' | |
name: 'Upload Android Debug APK arm64-v8a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-arm64-v8a-debug' | |
path: 'app/android/build/outputs/apk/debug/android-arm64-v8a-debug.apk' | |
overwrite: 'true' | |
- id: 'step-12' | |
name: 'Upload Android Debug APK x86_64' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-x86_64-debug' | |
path: 'app/android/build/outputs/apk/debug/android-x86_64-debug.apk' | |
overwrite: 'true' | |
- id: 'step-13' | |
name: 'Upload Android Debug APK armeabi-v7a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-armeabi-v7a-debug' | |
path: 'app/android/build/outputs/apk/debug/android-armeabi-v7a-debug.apk' | |
overwrite: 'true' | |
- id: 'step-14' | |
name: 'Upload Android Debug APK universal' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-universal-debug' | |
path: 'app/android/build/outputs/apk/debug/android-universal-debug.apk' | |
overwrite: 'true' | |
- id: 'step-15' | |
name: 'Build Android Release APKs' | |
env: | |
signing_release_storeFileFromRoot: '${{ steps.step-8.outputs.filePath }}' | |
signing_release_storePassword: '${{ secrets.SIGNING_RELEASE_STOREPASSWORD }}' | |
signing_release_keyAlias: '${{ secrets.SIGNING_RELEASE_KEYALIAS }}' | |
signing_release_keyPassword: '${{ secrets.SIGNING_RELEASE_KEYPASSWORD }}' | |
run: './gradlew assembleRelease "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (!(github.event_name == ''pull_request'')) }}' | |
- id: 'step-16' | |
name: 'Upload Android Release APK arm64-v8a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-arm64-v8a-release' | |
path: 'app/android/build/outputs/apk/release/android-arm64-v8a-release.apk' | |
overwrite: 'true' | |
- id: 'step-17' | |
name: 'Upload Android Release APK x86_64' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-x86_64-release' | |
path: 'app/android/build/outputs/apk/release/android-x86_64-release.apk' | |
overwrite: 'true' | |
- id: 'step-18' | |
name: 'Upload Android Release APK armeabi-v7a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-armeabi-v7a-release' | |
path: 'app/android/build/outputs/apk/release/android-armeabi-v7a-release.apk' | |
overwrite: 'true' | |
- id: 'step-19' | |
name: 'Upload Android Release APK universal' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-universal-release' | |
path: 'app/android/build/outputs/apk/release/android-universal-release.apk' | |
overwrite: 'true' | |
- id: 'step-20' | |
name: 'Check' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '2' | |
command: './gradlew check "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx4g" "-Dkotlin.daemon.jvm.options=-Xmx4g"' | |
build_self-hosted-macos-15: | |
name: 'Build (macOS 15 AArch64 (Self-Hosted))' | |
runs-on: | |
- 'self-hosted' | |
- 'macOS' | |
- 'ARM64' | |
permissions: | |
actions: 'write' | |
if: '${{ github.repository == ''open-ani/animeko'' }}' | |
outputs: | |
macosAarch64DmgSuccess: '${{ steps.step-22.outcome == ''success'' }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
with: | |
submodules: 'recursive' | |
- id: 'step-1' | |
name: 'Resolve JBR location' | |
run: |- | |
# Expand jbrLocationExpr | |
jbr_location_expr=$(eval echo ${{ runner.tool_cache }}/jbrsdk_jcef-21.0.5-osx-aarch64-b631.8.tar.gz) | |
echo "jbrLocation=$jbr_location_expr" >> $GITHUB_OUTPUT | |
- id: 'step-2' | |
name: 'Get JBR 21 for macOS AArch64' | |
env: | |
jbrLocation: '${{ steps.step-1.outputs.jbrLocation }}' | |
run: |- | |
jbr_location="$jbrLocation" | |
checksum_url="https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_jcef-21.0.5-osx-aarch64-b631.8.tar.gz.checksum" | |
checksum_file="checksum.tmp" | |
wget -q -O $checksum_file $checksum_url | |
expected_checksum=$(awk '{print $1}' $checksum_file) | |
file_checksum="" | |
if [ -f "$jbr_location" ]; then | |
file_checksum=$(shasum -a 512 "$jbr_location" | awk '{print $1}') | |
fi | |
if [ "$file_checksum" != "$expected_checksum" ]; then | |
wget -q --tries=3 https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_jcef-21.0.5-osx-aarch64-b631.8.tar.gz -O "$jbr_location" | |
file_checksum=$(shasum -a 512 "$jbr_location" | awk '{print $1}') | |
fi | |
if [ "$file_checksum" != "$expected_checksum" ]; then | |
echo "Checksum verification failed!" >&2 | |
rm -f $checksum_file | |
exit 1 | |
fi | |
rm -f $checksum_file | |
file "$jbr_location" | |
- id: 'step-3' | |
name: 'Setup JBR 21 for macOS AArch64' | |
uses: 'gmitch215/setup-java@6d2c5e1f82f180ae79f799f0ed6e3e5efb4e664d' | |
with: | |
java-version: '21' | |
distribution: 'jdkfile' | |
jdkFile: '${{ steps.step-1.outputs.jbrLocation }}' | |
env: | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
- id: 'step-4' | |
run: 'echo "jvm.toolchain.version=21" >> local.properties' | |
- id: 'step-5' | |
run: 'chmod -R 777 .' | |
- id: 'step-6' | |
name: 'Setup Gradle' | |
uses: 'gradle/actions/setup-gradle@v3' | |
with: | |
cache-disabled: 'true' | |
- id: 'step-7' | |
name: 'Clean and download dependencies' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '3' | |
command: './gradlew "--stacktrace" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-8' | |
name: 'Update dev version name' | |
run: './gradlew updateDevVersionNameFromGit "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-9' | |
name: 'Prepare signing key' | |
continue-on-error: true | |
uses: 'timheuer/[email protected]' | |
with: | |
fileName: 'android_signing_key' | |
fileDir: './' | |
encodedString: '${{ secrets.SIGNING_RELEASE_STOREFILE }}' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (!(github.event_name == ''pull_request'')) }}' | |
- id: 'step-10' | |
name: 'Compile Kotlin' | |
run: './gradlew compileKotlin compileCommonMainKotlinMetadata compileDebugKotlinAndroid compileReleaseKotlinAndroid compileJvmMainKotlinMetadata compileKotlinDesktop compileKotlinMetadata "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-11' | |
name: 'Build Android Debug APKs' | |
run: './gradlew assembleDebug "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-12' | |
name: 'Upload Android Debug APK arm64-v8a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-arm64-v8a-debug' | |
path: 'app/android/build/outputs/apk/debug/android-arm64-v8a-debug.apk' | |
overwrite: 'true' | |
- id: 'step-13' | |
name: 'Upload Android Debug APK x86_64' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-x86_64-debug' | |
path: 'app/android/build/outputs/apk/debug/android-x86_64-debug.apk' | |
overwrite: 'true' | |
- id: 'step-14' | |
name: 'Upload Android Debug APK armeabi-v7a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-armeabi-v7a-debug' | |
path: 'app/android/build/outputs/apk/debug/android-armeabi-v7a-debug.apk' | |
overwrite: 'true' | |
- id: 'step-15' | |
name: 'Build Android Release APKs' | |
env: | |
signing_release_storeFileFromRoot: '${{ steps.step-9.outputs.filePath }}' | |
signing_release_storePassword: '${{ secrets.SIGNING_RELEASE_STOREPASSWORD }}' | |
signing_release_keyAlias: '${{ secrets.SIGNING_RELEASE_KEYALIAS }}' | |
signing_release_keyPassword: '${{ secrets.SIGNING_RELEASE_KEYPASSWORD }}' | |
run: './gradlew assembleRelease "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (!(github.event_name == ''pull_request'')) }}' | |
- id: 'step-16' | |
name: 'Upload Android Release APK arm64-v8a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-arm64-v8a-release' | |
path: 'app/android/build/outputs/apk/release/android-arm64-v8a-release.apk' | |
overwrite: 'true' | |
- id: 'step-17' | |
name: 'Upload Android Release APK x86_64' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-x86_64-release' | |
path: 'app/android/build/outputs/apk/release/android-x86_64-release.apk' | |
overwrite: 'true' | |
- id: 'step-18' | |
name: 'Upload Android Release APK armeabi-v7a' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-android-armeabi-v7a-release' | |
path: 'app/android/build/outputs/apk/release/android-armeabi-v7a-release.apk' | |
overwrite: 'true' | |
- id: 'step-19' | |
name: 'Check' | |
uses: 'nick-fields/retry@v2' | |
with: | |
timeout_minutes: '60' | |
max_attempts: '2' | |
command: './gradlew check "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-20' | |
name: 'Package Desktop' | |
run: './gradlew packageReleaseDistributionForCurrentOS "--scan" "--no-configuration-cache" "-Porg.gradle.daemon.idletimeout=60000" "-Pkotlin.native.ignoreDisabledTargets=true" "-Dfile.encoding=UTF-8" "-Dorg.gradle.jvmargs=-Xmx6g" "-Dkotlin.daemon.jvm.options=-Xmx4g" "--parallel" "-Pani.android.abis=arm64-v8a"' | |
- id: 'step-21' | |
name: 'Upload compose logs' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'compose-logs-self-hosted-macos-15' | |
path: 'app/desktop/build/compose/logs' | |
- id: 'step-22' | |
name: 'Upload macOS dmg' | |
uses: 'actions/upload-artifact@v4' | |
with: | |
name: 'ani-macos-dmg-aarch64' | |
path: 'app/desktop/build/compose/binaries/main-release/dmg/Ani-*.dmg' | |
if-no-files-found: 'error' | |
overwrite: 'true' | |
- id: 'step-23' | |
name: 'Cleanup temp files' | |
continue-on-error: true | |
run: 'chmod +x ./ci-helper/cleanup-temp-files-macos.sh && ./ci-helper/cleanup-temp-files-macos.sh' | |
verify_github-windows-2019: | |
name: 'Verify (Windows Server 2019 x86_64 (GitHub))' | |
runs-on: | |
- 'windows-2019' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_github-windows-2019' | |
if: '${{ needs.build_github-windows-2019.outputs.windowsX64PortableSuccess }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Delete libraries from system' | |
continue-on-error: true | |
shell: 'powershell' | |
run: |- | |
Remove-Item -Path "C:\vcpkg\installed\x64-windows\lib\libssl*" -Recurse -Force -Verbose | |
Remove-Item -Path "C:\vcpkg\installed\x64-windows\lib\libcrypto*" -Recurse -Force -Verbose | |
- id: 'step-2' | |
name: 'Download Windows x64 Portable' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-windows-portable' | |
path: '${{ github.workspace }}/ci-helper/verify' | |
- id: 'step-3' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
shell: 'powershell' | |
run: 'powershell.exe -NoProfile -ExecutionPolicy Bypass -File "${{ github.workspace }}/ci-helper/verify/run-ani-test-windows-x64.ps1" "${{ github.workspace }}\ci-helper\verify" "anitorrent-load-test"' | |
verify_github-windows-2022: | |
name: 'Verify (Windows Server 2022 x86_64 (GitHub))' | |
runs-on: | |
- 'windows-2022' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_github-windows-2019' | |
if: '${{ needs.build_github-windows-2019.outputs.windowsX64PortableSuccess }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Delete libraries from system' | |
continue-on-error: true | |
shell: 'powershell' | |
run: |- | |
Remove-Item -Path "C:\vcpkg\installed\x64-windows\lib\libssl*" -Recurse -Force -Verbose | |
Remove-Item -Path "C:\vcpkg\installed\x64-windows\lib\libcrypto*" -Recurse -Force -Verbose | |
- id: 'step-2' | |
name: 'Download Windows x64 Portable' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-windows-portable' | |
path: '${{ github.workspace }}/ci-helper/verify' | |
- id: 'step-3' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
shell: 'powershell' | |
run: 'powershell.exe -NoProfile -ExecutionPolicy Bypass -File "${{ github.workspace }}/ci-helper/verify/run-ani-test-windows-x64.ps1" "${{ github.workspace }}\ci-helper\verify" "anitorrent-load-test"' | |
verify_self-hosted-windows-10: | |
name: 'Verify (Windows 10 x86_64 (Self-Hosted))' | |
runs-on: | |
- 'self-hosted' | |
- 'Windows' | |
- 'X64' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_github-windows-2019' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (needs.build_github-windows-2019.outputs.windowsX64PortableSuccess) }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Download Windows x64 Portable' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-windows-portable' | |
path: '${{ github.workspace }}/ci-helper/verify' | |
- id: 'step-2' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
shell: 'powershell' | |
run: 'powershell.exe -NoProfile -ExecutionPolicy Bypass -File "${{ github.workspace }}/ci-helper/verify/run-ani-test-windows-x64.ps1" "${{ github.workspace }}\ci-helper\verify" "anitorrent-load-test"' | |
verify_self-hosted-macos-15: | |
name: 'Verify (macOS 15 AArch64 (Self-Hosted))' | |
runs-on: | |
- 'self-hosted' | |
- 'macOS' | |
- 'ARM64' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_self-hosted-macos-15' | |
if: '${{ (github.repository == ''open-ani/animeko'') && (needs.build_self-hosted-macos-15.outputs.macosAarch64DmgSuccess) }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Download DMG' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-macos-dmg-aarch64' | |
- id: 'step-2' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
run: '"$GITHUB_WORKSPACE/ci-helper/verify/run-ani-test-macos-aarch64.sh" "$GITHUB_WORKSPACE"/*.dmg anitorrent-load-test' | |
verify_github-macos-14: | |
name: 'Verify (macOS 14 AArch64 (GitHub))' | |
runs-on: | |
- 'macos-14' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_self-hosted-macos-15' | |
if: '${{ needs.build_self-hosted-macos-15.outputs.macosAarch64DmgSuccess }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Delete libraries from system' | |
continue-on-error: true | |
run: |- | |
sudo rm -rfv /usr/local/lib/libssl* || true | |
sudo rm -rfv /usr/local/lib/libcrypto* || true | |
sudo rm -rfv /opt/homebrew/lib/libssl* || true | |
sudo rm -rfv /opt/homebrew/lib/libcrypto* || true | |
- id: 'step-2' | |
name: 'Download DMG' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-macos-dmg-aarch64' | |
- id: 'step-3' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
run: '"$GITHUB_WORKSPACE/ci-helper/verify/run-ani-test-macos-aarch64.sh" "$GITHUB_WORKSPACE"/*.dmg anitorrent-load-test' | |
verify_github-macos-15: | |
name: 'Verify (macOS 15 AArch64 (GitHub))' | |
runs-on: | |
- 'macos-15' | |
permissions: | |
actions: 'read' | |
needs: | |
- 'build_self-hosted-macos-15' | |
if: '${{ needs.build_self-hosted-macos-15.outputs.macosAarch64DmgSuccess }}' | |
steps: | |
- id: 'step-0' | |
uses: 'actions/checkout@v4' | |
- id: 'step-1' | |
name: 'Delete libraries from system' | |
continue-on-error: true | |
run: |- | |
sudo rm -rfv /usr/local/lib/libssl* || true | |
sudo rm -rfv /usr/local/lib/libcrypto* || true | |
sudo rm -rfv /opt/homebrew/lib/libssl* || true | |
sudo rm -rfv /opt/homebrew/lib/libcrypto* || true | |
- id: 'step-2' | |
name: 'Download DMG' | |
uses: 'actions/download-artifact@v4' | |
with: | |
name: 'ani-macos-dmg-aarch64' | |
- id: 'step-3' | |
name: 'Check that Anitorrent can be loaded' | |
timeout-minutes: 5 | |
run: '"$GITHUB_WORKSPACE/ci-helper/verify/run-ani-test-macos-aarch64.sh" "$GITHUB_WORKSPACE"/*.dmg anitorrent-load-test' |