Skip to content

2 11

2 11 #79

name: Build Geode Mod
permissions:
contents: write
on:
workflow_dispatch:
push:
branches:
- '**'
jobs:
build:
continue-on-error: true # continue even if build failed for some platform
strategy:
fail-fast: false
matrix:
config:
- name: Windows
os: windows-latest
- name: macOS
os: macos-latest
- name: Android64
os: ubuntu-latest
target: Android64
- name: Android32
os: ubuntu-latest
target: Android32
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
steps:
- uses: actions/checkout@v3
- name: Build the mod
uses: geode-sdk/build-geode-mod@main
with:
target: ${{ matrix.config.target }}
combine: true
upload:
name: Combine and upload builds
runs-on: ubuntu-latest
needs: ['build']
steps:
- name: "Combine builds"
uses: geode-sdk/build-geode-mod/combine@main
id: build
- name: "Upload artifact"
uses: actions/upload-artifact@v4
with:
name: Build Output
path: ${{ steps.build.outputs.build-output }}
- name: "Set up Git repository"
uses: actions/checkout@v2
- name: "Development Release"
uses: ncipollo/release-action@v1
with:
name: "Development Release"
body: |
Release of success build for latest commit on `${{ github.head_ref || github.ref_name }}`.
The build workflow run for this release goes in [#${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
tag: "nightly"
prerelease: true
allowUpdates: true
artifactErrorsFailBuild: true
artifacts: "${{steps.build.outputs.build-output}}/*"
- name: "Get mod properties"
id: json_properties
uses: ActionsTools/read-json-action@main
with:
file_path: "mod.json"
- name: "Try Release Version"
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
tag: "${{steps.json_properties.outputs.version}}"
artifacts: "${{steps.build.outputs.build-output}}/*"
artifactErrorsFailBuild: true
allowUpdates: false