oops i meant to delete this #212
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: Build | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| include: | |
| - target: windows | |
| runs-on: windows-latest | |
| - target: macos | |
| runs-on: macos-latest | |
| - target: linux | |
| runs-on: ubuntu-latest | |
| - target: ios | |
| runs-on: macos-26 | |
| - target: android | |
| runs-on: ubuntu-latest | |
| runs-on: | |
| - ${{matrix.runs-on}} | |
| steps: | |
| - name: Checkout Repository | |
| uses: funkincrew/ci-checkout@main | |
| - name: Setup Haxe | |
| uses: funkincrew/ci-haxe@master | |
| with: | |
| haxe-version: 4.3.7 | |
| - name: Install HMM with Funkin' Patches | |
| run: | | |
| haxelib --debug --never --global git haxelib https://github.com/FunkinCrew/haxelib.git funkin-patches --skip-dependencies | |
| haxelib --debug --never --global git hmm https://github.com/FunkinCrew/hmm funkin-patches | |
| haxelib --debug --never newrepo | |
| - name: Restore HMM Cache | |
| id: hmm-cache | |
| uses: actions/cache/restore@main | |
| with: | |
| path: .haxelib | |
| key: ${{runner.os}}-hmm-${{hashFiles('**/hmm.json')}} | |
| - name: Install Dependencies using HMM | |
| run: haxelib --global run hmm install -q | |
| - name: Compile HXCPP Build Tools | |
| run: | | |
| cd .haxelib/hxcpp/git/tools/hxcpp | |
| haxe compile.hxml | |
| cd ../../../../.. | |
| - name: Save HMM Cache | |
| uses: actions/cache/save@main | |
| with: | |
| path: .haxelib | |
| key: ${{steps.hmm-cache.outputs.cache-primary-key}} | |
| - name: Install Linux Dependencies | |
| if: ${{runner.os == 'Linux'}} | |
| run: | | |
| sudo apt-get -y install libvlc-dev libvlccore-dev | |
| - name: Setup Android NDK | |
| uses: nttld/setup-ndk@main | |
| if: ${{matrix.target == 'android'}} | |
| id: ndk | |
| with: | |
| ndk-version: r21e | |
| - name: Setup Java | |
| uses: actions/setup-java@main | |
| if: ${{matrix.target == 'android'}} | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Configure Android | |
| if: ${{matrix.target == 'android'}} | |
| run: | | |
| haxelib run lime config ANDROID_SDK $ANDROID_HOME | |
| haxelib run lime config ANDROID_NDK_ROOT ${{steps.ndk.outputs.ndk-path}} | |
| haxelib run lime config JAVA_HOME $JAVA_HOME | |
| haxelib run lime config ANDROID_SETUP true | |
| - name: Compile the Application | |
| if: ${{matrix.target != 'ios'}} | |
| run: haxelib run lime build ${{matrix.target}} | |
| - name: Compile the Application (No Signing) | |
| if: ${{matrix.target == 'ios'}} | |
| run: haxelib run lime build ios -nosign | |
| - name: Format Artifact String | |
| uses: ASzc/change-string-case-action@v6 | |
| id: artifact-string | |
| with: | |
| string: ${{matrix.target}} | |
| - name: Zip up IPA File | |
| if: ${{matrix.target == 'ios'}} | |
| run: | | |
| cd export/release/ios/build/Release-iphoneos | |
| mkdir Payload | |
| mv *.app Payload | |
| zip -r TechNotDripEngine.ipa Payload | |
| - name: Upload Artifact | |
| if: ${{ matrix.target != 'ios' && matrix.target != 'android' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: TechNotDrip-Engine_${{steps.artifact-string.outputs.uppercase}} | |
| path: export/release/${{matrix.target}}/bin/ | |
| - name: Upload Artifact (on iOS) | |
| if: ${{ matrix.target == 'ios' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: TechNotDrip-Engine_IOS | |
| path: export/release/ios/build/Release-iphoneos/*.ipa | |
| - name: Upload Artifact (on Android) | |
| if: ${{ matrix.target == 'android' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: TechNotDrip-Engine_ANDROID | |
| path: export/release/android/bin/app/build/outputs/apk/debug/*.apk | |
| #buildWindows: | |
| # name: Build Windows Application | |
| # runs-on: windows-latest | |
| # steps: | |
| # - name: Download Source Code | |
| # uses: actions/checkout@v4 | |
| # - name: Setup Haxe | |
| # uses: krdlab/setup-haxe@master | |
| # with: | |
| # haxe-version: 4.3.7 | |
| # - name: Retrieve Haxelib Cache | |
| # id: windows-haxelib-cache | |
| # uses: actions/cache@v4 | |
| # with: | |
| # path: | | |
| # C:/haxelib/** | |
| # .haxelib/** | |
| # key: ${{ runner.os }}-haxelib-cache | |
| # - name: Install Haxe Libraries using HMM | |
| # run: | | |
| # haxelib install hmm --quiet | |
| # haxelib run hmm install | |
| # - name: Compile HXCPP Build Tools | |
| # run: | | |
| # cd .haxelib/hxcpp/git/tools/hxcpp | |
| # haxe compile.hxml | |
| # cd ../../../../.. | |
| # - name: Compile Application | |
| # run: haxelib run lime build windows | |
| # - name: Upload Artifact | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: TechNotDrip-Engine_WINDOWS | |
| # path: export/release/windows/bin/ | |
| #buildAndroid: | |
| # name: Build Android Application | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Download Source Code | |
| # uses: actions/checkout@v4 | |
| # - name: Setup Haxe | |
| # uses: krdlab/setup-haxe@master | |
| # with: | |
| # haxe-version: 4.3.7 | |
| # - name: Setup Android NDK | |
| # uses: nttld/setup-ndk@v1 | |
| # id: ndk | |
| # with: | |
| # ndk-version: r21e | |
| # - name: Setup Java | |
| # uses: actions/setup-java@v4 | |
| # with: | |
| # distribution: 'oracle' | |
| # java-version: '17' | |
| # - name: Retrieve Haxelib Cache | |
| # id: android-haxelib-cache | |
| # uses: actions/cache@v4 | |
| # with: | |
| # path: | | |
| # ~/haxelib/** | |
| # .haxelib/** | |
| # key: android-haxelib-cache | |
| # - name: Install Haxe Libraries using HMM | |
| # run: | | |
| # sudo apt install libvlccore-dev libvlc-dev -y -q | |
| # haxelib install hmm --quiet | |
| # haxelib run hmm install | |
| # - name: Compile HXCPP Build Tools | |
| # run: | | |
| # cd .haxelib/hxcpp/git/tools/hxcpp | |
| # haxe compile.hxml | |
| # cd ../../../../.. | |
| # - name: Configure Android | |
| # run: | | |
| # haxelib run lime config ANDROID_SDK $ANDROID_HOME | |
| # haxelib run lime config ANDROID_NDK_ROOT ${{ steps.ndk.outputs.ndk-path }} | |
| # haxelib run lime config JAVA_HOME $JAVA_HOME | |
| # haxelib run lime config ANDROID_SETUP true | |
| # - name: Compile Application | |
| # run: haxelib run lime build android | |
| # - name: Upload Artifact | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: TechNotDrip-Engine_ANDROID | |
| # path: export/release/android/bin/app/build/outputs/apk/debug/*.apk | |
| #buildiOS: | |
| # name: Build iOS Application | |
| # runs-on: macos-latest | |
| # steps: | |
| # - name: Download Source Code | |
| # uses: actions/checkout@v4 | |
| # - name: Setup Haxe | |
| # uses: krdlab/setup-haxe@master | |
| # with: | |
| # haxe-version: 4.3.7 | |
| # - name: Retrieve Haxelib Cache | |
| # id: ios-haxelib-cache | |
| # uses: actions/cache@v4 | |
| # with: | |
| # path: | | |
| # ~/haxelib/** | |
| # .haxelib/** | |
| # key: ios-haxelib-cache | |
| # - name: Install Haxe Libraries using HMM | |
| # run: | | |
| # haxelib install hmm --quiet | |
| # haxelib run hmm install | |
| # - name: Compile HXCPP Build Tools | |
| # run: | | |
| # cd .haxelib/hxcpp/git/tools/hxcpp | |
| # haxe compile.hxml | |
| # cd ../../../../.. | |
| # - name: Compile Application | |
| # run: haxelib run lime build ios -nosign | |
| # - name: Zip up IPA File | |
| # run: | | |
| # cd export/release/ios/build/Release-iphoneos | |
| # mkdir Payload | |
| # mv *.app Payload | |
| # zip -r TechNotDrip.ipa Payload | |
| # - name: Upload Artifact | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: TechNotDrip-Engine_IOS | |
| # path: export/release/ios/build/Release-iphoneos/*.ipa |