Skip to content

Test new fetch PersistenceAPI workflows step in build workflow #52

Test new fetch PersistenceAPI workflows step in build workflow

Test new fetch PersistenceAPI workflows step in build workflow #52

name: Build Geode Mod
on:
workflow_dispatch:
push:
branches:
- "**"
jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- name: Windows
os: windows-latest
build-type: RelWithDebInfo
- name: macOS
os: macos-latest
- name: Android32
os: ubuntu-latest
target: Android32
- name: Android64
os: ubuntu-latest
target: Android64
- name: iOS
os: macos-latest
target: iOS
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
steps:
# - name: Detect platform
# id: platform
# shell: bash
# run: |
# if [ "$RUNNER_OS" = "Linux" ]; then
# ID=linux
# elif [ "$RUNNER_OS" = "Windows" ]; then
# ID=win
# elif [ "$RUNNER_OS" = "macOS" ]; then
# ID=mac
# fi
# if [ "$ID" = "linux" ]; then
# MKDIR_CMD=mkdir
# elif [ "$ID" = "win" ]; then
# MKDIR_CMD=New-item
# elif [ "$ID" = "mac" ]; then
# MKDIR_CMD=mkdir
# fi
# echo "id=$ID" >> $GITHUB_OUTPUT
- name: Checkout
uses: actions/checkout@v4
- name: List PersistenceAPI workflows
id: list-workflows
shell: bash
run: |
WorkflowList=$(curl.exe -L -H 'Accept: application/vnd.github+json; charset=utf-8' 'https://api.github.com/repos/0x5abe/PersistenceAPI/actions/runs?per_page=1&status=success')
echo "workflows=$WorkflowList" >> $GITHUB_OUTPUT
- name: Fetch PersistenceAPI
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: 0x5abe/PersistenceAPI
run-id: ${{ fromJSON(steps.list-workflows.outputs.workflows).workflow_runs[0].id }}
# - name: Extract in geode-deps
# run: |
# New-item 'build\geode-deps\sabe.persistenceapi' -ItemType Directory -force
# 7z x ${{ }}'.\Build Output\sabe.persistenceapi.geode' '-o.\build\geode-deps\sabe.persistenceapi'
# New-Item "build\geode-deps\sabe.persistenceapi\geode-dep-options.json" -ItemType File -Value '{ "required": true }'
- name: Extract in geode-deps
shell: bash
run: |
mkdir -p build/geode-deps/sabe.persistenceapi
7z x './Build Output/sabe.persistenceapi.geode' '-o./build/geode-deps/sabe.persistenceapi'
echo '{ "required": true }' > build/geode-deps/sabe.persistenceapi/geode-dep-options.json
- name: Build the mod
uses: 0x5abe/build-geode-mod@main
with:
bindings: 0x5abe/geode-bindings
bindings-ref: main
combine: true
cli: "latest"
sdk: "nightly"
export-pdb: true
target: ${{ matrix.config.target }}
build-config: ${{ matrix.config.build-type || 'Release' }}
package:
name: Package builds
runs-on: ubuntu-latest
needs: ['build']
steps:
- uses: geode-sdk/build-geode-mod/combine@main
id: build
- uses: actions/upload-artifact@v4
with:
name: Build Output
path: ${{ steps.build.outputs.build-output }}