GH: Add runner and linux workflows (editor only for now)

This commit is contained in:
Serhii Snitsaruk 2023-07-28 14:53:10 +02:00
parent 7030b87435
commit d1605609a2
2 changed files with 104 additions and 0 deletions

72
.github/workflows/linux.yml vendored Normal file
View File

@ -0,0 +1,72 @@
name: 🐧 Linux Builds
on:
workflow_call:
workflow_dispatch:
# Global Settings
env:
SCONS_CACHE_LIMIT: 4096
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
linux:
runs-on: "ubuntu-20.04"
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- name: Editor (Godot v4.1.1-stable)
target: editor
production: yes
build-mono: false
godot-treeish: 4.1.1-stable
executable-file: godot.linuxbsd.editor.x86_64
# - name: Template (Godot v4.1.1-stable)
# target: template_release
# production: yes
# build-mono: false
# godot-treeish: v4.1.1-stable
# executable-file: ???
steps:
# Clone godot
- uses: actions/checkout@v3
with:
repository: godotengine/godot
ref: ${{ matrix.godot-treeish }}
# Clone limboai module
- uses: actions/checkout@v3
with:
path: modules/limboai
# Setup buildroot
- name: Setup buildroot
run: |
wget https://download.tuxfamily.org/godotengine/toolchains/linux/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
cd x86_64-godot-linux-gnu_sdk-buildroot
sed -i x86_64-godot-linux-gnu/sysroot/usr/lib/pkgconfig/dbus-1.pc -e "s@/lib@/lib64@g"
./relocate-sdk.sh
cd ..
# Build step
- name: Build step
env:
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
run: |
PATH=${GITHUB_WORKSPACE}/x86_64-godot-linux-gnu_sdk-buildroot/bin:$PATH
scons -j2 platform=linuxbsd tests=no target=${{matrix.target}} production=${{matrix.production}}
# Make build available
- uses: actions/upload-artifact@v3
with:
name: ${{matrix.executable-file}}
path: bin/${{matrix.executable-file}}

32
.github/workflows/runner.yml vendored Normal file
View File

@ -0,0 +1,32 @@
name: 🔗 GHA
on:
push:
tags:
- v0.**
branches:
- github-workflows
jobs:
# android-build:
# name: 🤖 Android
# uses: ./.github/workflows/android.yml
# ios-build:
# name: 🍏 iOS
# uses: ./.github/workflows/ios.yml
linux-build:
name: 🐧 Linux
uses: ./.github/workflows/linux.yml
# macos-build:
# name: 🍎 macOS
# uses: ./.github/workflows/macos.yml
# windows-build:
# name: 🏁 Windows
# uses: ./.github/workflows/windows.yml
# web-build:
# name: 🌐 Web
# uses: ./.github/workflows/web.yml