Support Linux #644
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
| on: | |
| push: | |
| branches: | |
| - 17x | |
| - master | |
| pull_request: | |
| branches: | |
| - 17x | |
| - master | |
| jobs: | |
| android: | |
| name: Build Android | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: sh scripts/clone_dependencies.sh | |
| - name: build script | |
| run: | | |
| # Use the oldest available NDK on the runner to avoid hardcoding a missing version. | |
| NDK_SDK_ROOT=$(ls -d "$ANDROID_SDK_ROOT"/ndk/* 2>/dev/null | sort -V | head -n 1) | |
| if [ -z "$NDK_SDK_ROOT" ]; then | |
| echo "NDK not found under $ANDROID_SDK_ROOT/ndk" | |
| exit 1 | |
| fi | |
| echo "Using NDK: $NDK_SDK_ROOT" | |
| cd Dev/Cpp/android | |
| $NDK_SDK_ROOT/ndk-build clean NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_x86.mk | |
| $NDK_SDK_ROOT/ndk-build -j4 NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_x86.mk | |
| cp libs/x86/libEffekseerUnity.so ../../Plugin/Assets/Effekseer/Plugins/Android/libs/x86/ | |
| $NDK_SDK_ROOT/ndk-build clean NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_armeabi-v7a.mk | |
| $NDK_SDK_ROOT/ndk-build -j4 NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_armeabi-v7a.mk | |
| cp libs/armeabi-v7a/libEffekseerUnity.so ../../Plugin/Assets/Effekseer/Plugins/Android/libs/armeabi-v7a/ | |
| $NDK_SDK_ROOT/ndk-build clean NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_arm64-v8a.mk | |
| $NDK_SDK_ROOT/ndk-build -j4 NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=jni/Application_arm64-v8a.mk | |
| cp libs/arm64-v8a/libEffekseerUnity.so ../../Plugin/Assets/Effekseer/Plugins/Android/libs/arm64-v8a/ | |
| - name: Upload math result for android | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Android | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| mac_ios: | |
| name: mac iOS Build | |
| runs-on: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: sh scripts/clone_dependencies.sh | |
| - run: cd ./Dev/Cpp/macosx/ && sh ./build_cmake.sh | |
| - name: Upload ios | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: mac_iOS | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| linux: | |
| name: linux Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: sh scripts/clone_dependencies.sh | |
| - name: Install OpenGL dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgl1-mesa-dev | |
| - run: sh ci/build_linux_plugin.sh | |
| - name: Upload math result for linux | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Linux | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| windows: | |
| name: windows Build | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: scripts/clone_dependencies.bat | |
| - name: Build | |
| run: cd ./Dev/Cpp/windows && Build.bat | |
| shell: cmd | |
| - name: Upload math result | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Windows | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| webgl_2-0-19: | |
| name: WebGL Build with emsdk 2.0.19 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache emsdk | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./emsdk | |
| key: ${{ runner.os }}-emsdk-2_0-19 | |
| - name: install emsdk 2.0.19 | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| git clone --depth 1 https://github.com/emscripten-core/emsdk.git | |
| cd emsdk | |
| ./emsdk install sdk-2.0.19-64bit | |
| cd .. | |
| - run: sh scripts/clone_dependencies.sh | |
| - run: | | |
| ./emsdk/emsdk activate sdk-2.0.19-64bit | |
| source ./emsdk/emsdk_env.sh | |
| cd ./Dev/Cpp/webgl | |
| mkdir build2019 | |
| cd build2019 | |
| emcmake cmake -DCMAKE_BUILD_TYPE=Release .. | |
| make | |
| cp libEffekseerUnity.bc ../../../Plugin/Assets/Effekseer/Plugins/WebGL/2.0.19-64bit/ | |
| - name: Upload math result for webgl | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: WebGL_2-0-19 | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| webgl_3-1-8: | |
| name: WebGL Build with emsdk 3.1.8 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache emsdk | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./emsdk | |
| key: ${{ runner.os }}-emsdk-3_1-8 | |
| - name: install emsdk 3.1.8 | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| git clone --depth 1 https://github.com/emscripten-core/emsdk.git | |
| cd emsdk | |
| ./emsdk install sdk-3.1.8-64bit | |
| cd .. | |
| - run: sh scripts/clone_dependencies.sh | |
| - run: | | |
| ./emsdk/emsdk activate sdk-3.1.8-64bit | |
| source ./emsdk/emsdk_env.sh | |
| cd ./Dev/Cpp/webgl | |
| mkdir build2019 | |
| cd build2019 | |
| emcmake cmake -DCMAKE_BUILD_TYPE=Release .. | |
| make | |
| cp libEffekseerUnity.bc ../../../Plugin/Assets/Effekseer/Plugins/WebGL/3.1.8-64bit/ | |
| - name: Upload math result for webgl | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: WebGL_3-1-8 | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| webgl_3-1-38: | |
| name: WebGL Build with emsdk 3.1.38 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache emsdk | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./emsdk | |
| key: ${{ runner.os }}-emsdk-3_1-38 | |
| - name: install emsdk 3.1.38 | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| git clone --depth 1 https://github.com/emscripten-core/emsdk.git | |
| cd emsdk | |
| ./emsdk install sdk-3.1.38-64bit | |
| cd .. | |
| - run: sh scripts/clone_dependencies.sh | |
| - run: | | |
| ./emsdk/emsdk activate sdk-3.1.38-64bit | |
| source ./emsdk/emsdk_env.sh | |
| cd ./Dev/Cpp/webgl | |
| mkdir build2019 | |
| cd build2019 | |
| emcmake cmake -DCMAKE_BUILD_TYPE=Release .. | |
| make | |
| cp libEffekseerUnity.bc ../../../Plugin/Assets/Effekseer/Plugins/WebGL/3.1.38-64bit/ | |
| - name: Upload math result for webgl | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: WebGL_3-1-38 | |
| path: ./Dev/Plugin/Assets/Effekseer/Plugins | |
| merge: | |
| name: merge | |
| runs-on: ubuntu-latest | |
| needs: [android, mac_ios, linux, windows, webgl_2-0-19,webgl_3-1-8,webgl_3-1-38] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download Android | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: Android | |
| path: Android | |
| - name: Download mac_ios | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: mac_iOS | |
| path: mac_iOS | |
| - name: Download Linux | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: Linux | |
| path: Linux | |
| - name: Download mac_ios | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: Windows | |
| path: Windows | |
| - name: Download webgl 2.0.19 | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: WebGL_2-0-19 | |
| path: WebGL_2-0-19 | |
| - name: Download webgl 3.1.8 | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: WebGL_3-1-8 | |
| path: WebGL_3-1-8 | |
| - name: Download webgl 3.1.38 | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: WebGL_3-1-38 | |
| path: WebGL_3-1-38 | |
| - name: Copy | |
| run: | | |
| mv Android/Android/libs/arm64-v8a/libEffekseerUnity.so Dev/Plugin/Assets/Effekseer/Plugins/Android/libs/arm64-v8a/ | |
| mv Android/Android/libs/armeabi-v7a/libEffekseerUnity.so Dev/Plugin/Assets/Effekseer/Plugins/Android/libs/armeabi-v7a/ | |
| mv Android/Android/libs/x86/libEffekseerUnity.so Dev/Plugin/Assets/Effekseer/Plugins/Android/libs/x86/ | |
| mv mac_iOS/iOS/libEffekseerUnity.a Dev/Plugin/Assets/Effekseer/Plugins/iOS/libEffekseerUnity.a | |
| rm -rf Dev/Plugin/Assets/Effekseer/Plugins/EffekseerUnity.bundle | |
| cp -f -r mac_iOS/EffekseerUnity.bundle Dev/Plugin/Assets/Effekseer/Plugins/ | |
| mv WebGL_2-0-19/WebGL/2.0.19-64bit/libEffekseerUnity.bc Dev/Plugin/Assets/Effekseer/Plugins/WebGL/2.0.19-64bit/ | |
| mv WebGL_3-1-8/WebGL/3.1.8-64bit/libEffekseerUnity.bc Dev/Plugin/Assets/Effekseer/Plugins/WebGL/3.1.8-64bit/ | |
| mv WebGL_3-1-38/WebGL/3.1.38-64bit/libEffekseerUnity.bc Dev/Plugin/Assets/Effekseer/Plugins/WebGL/3.1.38-64bit/ | |
| mv Linux/Linux/x86_64/libEffekseerUnity.so Dev/Plugin/Assets/Effekseer/Plugins/Linux/x86_64/ | |
| mv Windows/x86/EffekseerUnity.dll Dev/Plugin/Assets/Effekseer/Plugins/x86/ | |
| mv Windows/x86_64/EffekseerUnity.dll Dev/Plugin/Assets/Effekseer/Plugins/x86_64/ | |
| - name: Upload math result | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: merged | |
| path: Dev/Plugin/Assets/Effekseer | |
| - run: pip install PyYAML | |
| - run: mkdir dist | |
| - run: | | |
| cd Dev/Plugin | |
| python3 ../../create_unitypackage.py -r -o ../../dist/Effekseer.tar.gz Assets/Effekseer | |
| mv ../../dist/Effekseer.tar.gz ../../dist/Effekseer.unitypackage | |
| - name: Upload math result | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Effekseer.unitypackage | |
| path: dist |