Skip to content

oops i meant to delete this #212

oops i meant to delete this

oops i meant to delete this #212

Workflow file for this run

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