Skip to content

Godot Builder

Godot Builder #18

Workflow file for this run

name: Godot Builder
on:
workflow_dispatch:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+([a-zA-Z]*\-*)*'
env:
GODOT_VERSION: 4.3
EXPORT_NAME: Reia
PROJECT_PATH: godot
jobs:
export-windows:
name: Windows Export
runs-on: ubuntu-20.04
container:
image: barichello/godot-ci:4.3
steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/export_templates/
mkdir -v -p ~/.config/
mv /root/.config/godot ~/.config/godot
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
- name: Windows Build
run: |
mkdir -v -p build/windows
EXPORT_DIR="$(readlink -f build)"
cd $PROJECT_PATH
timeout 60 godot --editor --headless
godot --headless --verbose --export-release "Windows Desktop" "$EXPORT_DIR/windows/$EXPORT_NAME.exe"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: windows
path: build/windows
export-linux:
name: Linux Export
runs-on: ubuntu-20.04
container:
image: barichello/godot-ci:4.3
steps:
- name: Format Tag Name
id: replace_string
uses: frabert/replace-string-action@v2
with:
pattern: '\.'
string: ${{ github.ref_name }}
replace-with: '_'
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/export_templates/
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
- name: Linux Build
run: |
mkdir -v -p build/linux
EXPORT_DIR="$(readlink -f build)"
cd $PROJECT_PATH
timeout 60 godot --editor --headless
godot --headless --verbose --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux
path: build/linux
export-mac:
name: Mac Export
runs-on: ubuntu-20.04
container:
image: barichello/godot-ci:4.3
steps:
- name: Format Tag Name
id: replace_string
uses: frabert/replace-string-action@v2
with:
pattern: '\.'
string: ${{ github.ref_name }}
replace-with: '_'
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/export_templates/
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
- name: Mac Build
run: |
mkdir -v -p build/mac
EXPORT_DIR="$(readlink -f build)"
cd $PROJECT_PATH
timeout 60 godot --editor --headless
godot --headless --verbose --export-release "macOS" "$EXPORT_DIR/mac/$EXPORT_NAME.zip"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: mac
path: build/mac
export-web:
name: Web Export
runs-on: ubuntu-20.04
container:
image: barichello/godot-ci:4.3
steps:
- name: Format Tag Name
id: replace_string
uses: frabert/replace-string-action@v2
with:
pattern: '\.'
string: ${{ github.ref_name }}
replace-with: '_'
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
- name: Setup
run: |
mkdir -v -p ~/.local/share/godot/export_templates/
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
- name: Web Build
run: |
mkdir -v -p build/web
EXPORT_DIR="$(readlink -f build)"
cd $PROJECT_PATH
timeout 60 godot --editor --headless
godot --headless --verbose --export-release "Web" "$EXPORT_DIR/web/index.html"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: web
path: build/web
release-notes:
name: Release Notes
runs-on: ubuntu-latest
needs: [ export-windows, export-linux, export-mac, export-web ]
if: ${{ always() && !cancelled() && needs.build.result == 'success' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: true
- name: Format Tag Name
id: replace_string
uses: frabert/replace-string-action@v2
with:
pattern: '\.'
string: ${{ github.ref_name }}
replace-with: '_'
- name: Create Release And Upload Asset
uses: softprops/action-gh-release@v2
if: ${{startsWith(github.ref, 'refs/tags/') }}
with:
files: build/Reia_${{ steps.replace_string.outputs.replaced }}
body: |
# Reia - `${{ github.ref_name }}`
...
### Changes
**Added:**
- ...
**Removed:**
- ...
**Changed:**
- ...
**Fixed:**
- ...
----
...
draft: true
prerelease: true