Skip to content

Project Engine Android Build #1

Project Engine Android Build

Project Engine Android Build #1

Workflow file for this run

name: Project Engine Android Build
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ Fraze-glow-camera ]
pull_request:
branches: [ Fraze-glow-camera ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
AndroidBuild:
runs-on: ubuntu-latest
strategy:
matrix:
storage-type: [EXTERNAL]
permissions: write-all
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup Java JDK
uses: actions/setup-java@main
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Haxe
uses: krdlab/setup-haxe@master
with:
haxe-version: latest
- name: Restore Previous Cache
id: cache-debug-build-android-restore
uses: actions/cache/restore@main
with:
path: |
.haxelib/
export/release/android/haxe/
export/release/android/obj/
key: cache-android-build
- name: Install Libraries
run: |
haxelib setup ~/haxelib
haxelib install hmm --quiet
haxelib run hmm install --quiet
- name: Configure Android
run: |
haxelib run lime config ANDROID_SDK $ANDROID_HOME
haxelib run lime config ANDROID_NDK_ROOT $ANDROID_NDK_HOME
haxelib run lime config JAVA_HOME $JAVA_HOME
haxelib run lime config ANDROID_SETUP true
haxelib set SScript 8.1.6
- name: Compile
run: haxelib run lime build android -D ${{ matrix.storage-type }} -arm64 -final
env:
cert_pass: nullfunni
cert_alias_pass: nullfunni
- name: Clear Previous Cache
uses: actions/github-script@main
with:
script: |
try {
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
if (typeof caches.data.actions_caches != null && caches.data.actions_caches.length > 0) {
for (const cache of caches.data.actions_caches) {
if (cache.key == "cache-android-build") {
console.log('Clearing ' + cache.key + '...')
await github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
console.log("Previous Cache Cleared!")
}
}
}
} catch (error) {
console.log(error.message);
}
- name: Save Current Cache
id: cache-release-build-android-save
uses: actions/cache/save@main
with:
path: |
.haxelib/
export/release/android/haxe/
export/release/android/obj/
key: cache-android-build
- name: Upload Artifact
if: ${{ success() }}
uses: actions/upload-artifact@main
with:
name: androidBuild-${{ matrix.storage-type }}
path: export/release/android/bin/app/build/outputs/apk/release/*.apk
if-no-files-found: error