Godot auto build
This commit is contained in:
@@ -3,20 +3,49 @@ on: [push]
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-linux:
|
build-linux:
|
||||||
# Use standard Ubuntu runner environment (has Node.js for checkout & upload actions)
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Export Linux Binary via Godot Container
|
- name: Auto-Detect Godot Version and Setup Engine
|
||||||
# This forces just THIS step to run inside the Godot container
|
run: |
|
||||||
uses: docker://barichello/godot-ci:4.7
|
echo "🔍 Parsing project.godot to identify the target engine version..."
|
||||||
with:
|
|
||||||
# 👇 Force the container to use bash to parse the block sequentially
|
# Extracts the first value out of config/features (e.g., "4.7")
|
||||||
entrypoint: /bin/bash
|
VERSION_SHORT=$(grep "config/features" project.godot | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
args: -c "mkdir -v -p build/linux && godot --headless --export-release 'Linux' build/linux/godot_number_factory.x86_64"
|
|
||||||
|
if [ -z "$VERSION_SHORT" ]; then
|
||||||
|
echo "❌ Error: Could not determine Godot version from project.godot. Defaulting to 4.7"
|
||||||
|
VERSION_SHORT="4.7"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Standardizes the formatting naming convention for paths vs engine filenames
|
||||||
|
VERSION_URL="${VERSION_SHORT}-stable"
|
||||||
|
VERSION_FILE="${VERSION_SHORT}.stable"
|
||||||
|
|
||||||
|
echo "🎯 Detected Target Version: $VERSION_SHORT"
|
||||||
|
echo "----------------------------------------------"
|
||||||
|
|
||||||
|
echo "📥 Downloading Godot Engine ($VERSION_URL)..."
|
||||||
|
curl -L "https://github.com/godotengine/godot/releases/download/${VERSION_URL}/Godot_v${VERSION_URL}_linux.x86_64.zip" -o godot.zip
|
||||||
|
unzip godot.zip
|
||||||
|
mv "Godot_v${VERSION_URL}_linux.x86_64" godot
|
||||||
|
chmod +x godot
|
||||||
|
|
||||||
|
echo "📥 Downloading Export Templates ($VERSION_URL)..."
|
||||||
|
curl -L "https://github.com/godotengine/godot/releases/download/${VERSION_URL}/Godot_v${VERSION_URL}_export_templates.tpz" -o templates.zip
|
||||||
|
unzip templates.zip
|
||||||
|
|
||||||
|
echo "🔧 Mapping Template Directories..."
|
||||||
|
mkdir -p ~/.local/share/godot/export_templates/${VERSION_FILE}
|
||||||
|
mv templates/linux_release.x86_64 ~/.local/share/godot/export_templates/${VERSION_FILE}/linux_release.x86_64
|
||||||
|
|
||||||
|
- name: Export Linux Binary
|
||||||
|
run: |
|
||||||
|
mkdir -p build/linux
|
||||||
|
./godot --headless --export-release "Linux" build/linux/godot_number_factory.x86_64
|
||||||
|
|
||||||
- name: Upload Linux Build Artifact
|
- name: Upload Linux Build Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|||||||
Reference in New Issue
Block a user