Skip to content

Add per-mappack suspend/save support with the option for map creators to save progress automatically #515

Add per-mappack suspend/save support with the option for map creators to save progress automatically

Add per-mappack suspend/save support with the option for map creators to save progress automatically #515

Workflow file for this run

name: Compile
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-24.04
env:
KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
KEYSTORE_KEYPASSWORD: ${{ secrets.ANDROID_KEYSTORE_KEYPASSWORD }}
KEYSTORE_STOREPASSWORD: ${{ secrets.ANDROID_KEYSTORE_STOREPASSWORD }}
steps:
- uses: actions/checkout@v4
with:
path: main
submodules: true
name: Checkout Repository
- name: Extract Metadata
id: metadata
run: python3 main/.scripts/extract-metadata.py
- name: Add Universe Repository
run: sudo add-apt-repository universe
- name: Update Packages
run: sudo apt-get update
- name: Install Dependencies
run: sudo apt-get install --assume-yes wine-stable wine64 python3-pip libfuse2
- name: Install makelove
run: pip3 install --break-system-packages git+https://github.com/qixils/makelove/
- name: Build
run: cd main && python3 -m makelove && cd ..
- name: Artifact (LÖVE)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-source
path: main/makelove-build/love/${{ env.ARTIFACT_NAME_LOVE }}
- name: Artifact (AppImage)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-linux
path: main/makelove-build/appimage/${{ env.ARTIFACT_NAME_APPIMAGE }}
- name: Artifact (Win64)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-win64
path: main/makelove-build/win64/${{ env.ARTIFACT_NAME_WIN64 }}
- name: Artifact (Win32)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-win32
path: main/makelove-build/win32/${{ env.ARTIFACT_NAME_WIN32 }}
- name: Artifact (MacOS)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-macos
path: main/makelove-build/macos/${{ env.ARTIFACT_NAME_MACOS }}
- name: Build (Android)
id: build-android
uses: qixils/love-actions-android@v1
with:
app-name: "Mari0: AE"
bundle-id: love.to.androidmari0 # backwards compatibility
product-name: ${{ steps.metadata.outputs.id }}
resource-path: "main/.android-resources"
love-ref: 11.5a
love-package: main/makelove-build/love/${{ env.ARTIFACT_NAME_LOVE }}
remote-libs: "https://github.com/qixils/lua-https"
version-string: ${{ steps.metadata.outputs.version }}
version-code: ${{ steps.metadata.outputs.android-version }}
output-folder: "main/makelove-build/android"
keystore-alias: ${{ env.KEYSTORE_ALIAS }}
keystore-base64: ${{ env.KEYSTORE_BASE64 }}
keystore-key-password: ${{ env.KEYSTORE_KEYPASSWORD }}
keystore-store-password: ${{ env.KEYSTORE_STOREPASSWORD }}
- name: Artifact (Android Debug)
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-android-debug
path: main/makelove-build/android/${{ steps.metadata.outputs.id }}-debug.apk
- name: Artifact (Android Release)
if: env.KEYSTORE_ALIAS != '' && env.KEYSTORE_BASE64 != '' && env.KEYSTORE_KEYPASSWORD != '' && env.KEYSTORE_STOREPASSWORD != ''
uses: actions/upload-artifact@v4
with:
name: ${{ steps.metadata.outputs.id }}-android-release
path: main/makelove-build/android/${{ steps.metadata.outputs.id }}-release.apk