GitHub Workflow: Use new setup-godot-cpp github action from godot-cpp submodule.
parent
f9564a9c81
commit
0b5818ebcf
|
@ -1,114 +0,0 @@
|
|||
name: GDExtension Build
|
||||
description: Build GDExtension
|
||||
|
||||
inputs:
|
||||
platform:
|
||||
required: true
|
||||
description: Target platform.
|
||||
arch:
|
||||
required: true
|
||||
description: Target architecture.
|
||||
float-precision:
|
||||
default: 'single'
|
||||
description: Float precision (single or double).
|
||||
build-target-type:
|
||||
default: 'template_debug'
|
||||
description: Build type (template_debug or template_release).
|
||||
scons-cache:
|
||||
default: '.scons-cache/'
|
||||
description: Scons cache folder name, relative to each scons directory. Must not contain relative path signifiers (. or ..). Must be a transparent path part (empty or 'path/to/directory/', ending in a slash).
|
||||
em_version:
|
||||
default: 3.1.62
|
||||
description: Emscripten version.
|
||||
em-cache-directory:
|
||||
default: emsdk-cache
|
||||
description: Emscripten cache directory.
|
||||
gdextension-directory:
|
||||
default: ''
|
||||
description: Location of the gdextension project within the repository. Must not contain relative path signifiers (. or ..). Must be a transparent path part (empty or 'path/to/directory/', ending in a slash).
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
# Android only
|
||||
- name: Android - Set up Java 17
|
||||
uses: actions/setup-java@v4
|
||||
if: ${{ inputs.platform == 'android' }}
|
||||
with:
|
||||
distribution: temurin
|
||||
java-version: 17
|
||||
|
||||
- name: Android - Remove existing Android SDK, and set up ENV vars
|
||||
if: ${{ inputs.platform == 'android' }}
|
||||
shell: sh
|
||||
run: |
|
||||
sudo rm -r /usr/local/lib/android/sdk/**
|
||||
export ANDROID_HOME=/usr/local/lib/android/sdk
|
||||
export ANDROID_SDK_ROOT=$ANDROID_HOME
|
||||
export ANDROID_NDK_VERSION=23.2.8568313
|
||||
export ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk/${ANDROID_NDK_VERSION}
|
||||
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
||||
echo "ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >> "$GITHUB_ENV"
|
||||
echo "ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION" >> "$GITHUB_ENV"
|
||||
echo "ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Android - Set up Android SDK
|
||||
if: ${{ inputs.platform == 'android' }}
|
||||
uses: android-actions/setup-android@v3
|
||||
with:
|
||||
packages: "ndk;${{ env.ANDROID_NDK_VERSION }} cmdline-tools;latest build-tools;34.0.0 platforms;android-34 cmake;3.22.1"
|
||||
# Linux only
|
||||
- name: Linux - dependencies
|
||||
if: ${{ inputs.platform == 'linux' }}
|
||||
shell: sh
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qqq build-essential pkg-config
|
||||
# Web only
|
||||
- name: Web - Set up Emscripten latest
|
||||
if: ${{ inputs.platform == 'web' }}
|
||||
uses: mymindstorm/setup-emsdk@v14
|
||||
with:
|
||||
version: ${{ inputs.em_version }}
|
||||
actions-cache-folder: ${{ inputs.em-cache-directory }}.${{ inputs.float-precision }}.${{ inputs.build-target-type }}
|
||||
- name: Web - Verify Emscripten setup
|
||||
if: ${{ inputs.platform == 'web' }}
|
||||
shell: sh
|
||||
run: |
|
||||
emcc -v
|
||||
# Windows only
|
||||
- name: Windows - Setup MinGW for Windows/MinGW build
|
||||
uses: egor-tensin/setup-mingw@v2
|
||||
if: ${{ inputs.platform == 'windows' }}
|
||||
with:
|
||||
version: 12.2.0
|
||||
# Dependencies of godot
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
# Semantic version range syntax or exact version of a Python version
|
||||
python-version: "3.x"
|
||||
# Optional - x64 or x86 architecture, defaults to x64
|
||||
architecture: "x64"
|
||||
- name: Setup scons
|
||||
shell: bash
|
||||
run: |
|
||||
python -c "import sys; print(sys.version)"
|
||||
python -m pip install scons==4.4.0
|
||||
scons --version
|
||||
# Build
|
||||
- name: Cache .scons_cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}/${{ inputs.gdextension-directory }}${{ inputs.scons-cache }}
|
||||
key: ${{ inputs.platform }}_${{ inputs.arch }}_${{ inputs.float-precision }}_${{ inputs.build-target-type }}_cache
|
||||
# Build gdextension
|
||||
- name: Build GDExtension Debug Build
|
||||
shell: sh
|
||||
env:
|
||||
SCONS_CACHE: ${{ github.workspace }}/${{ inputs.gdextension-directory }}${{ inputs.scons-cache }}
|
||||
run: |
|
||||
scons target=${{ inputs.build-target-type }} platform=${{ inputs.platform }} arch=${{ inputs.arch }} precision=${{ inputs.float-precision }}
|
||||
working-directory: ${{ inputs.gdextension-directory }}
|
|
@ -276,13 +276,24 @@ jobs:
|
|||
# clang-format src/** --dry-run --Werror
|
||||
|
||||
# Build
|
||||
- name: 🔗 GDExtension Debug Build
|
||||
uses: ./.github/actions/build
|
||||
- name: Setup godot-cpp
|
||||
uses: ./godot-cpp/.github/actions/setup-godot-cpp
|
||||
with:
|
||||
platform: ${{ matrix.platform }}
|
||||
arch: ${{ matrix.arch }}
|
||||
float-precision: ${{ matrix.float-precision }}
|
||||
build-target-type: ${{ matrix.target-type }}
|
||||
em-version: 3.1.62
|
||||
|
||||
# Build GDExtension
|
||||
- name: Cache .scons_cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/.scons-cache/
|
||||
key: ${{ matrix.platform }}_${{ matrix.arch }}_${{ matrix.float-precision }}_${{ matrix.target-type }}_cache
|
||||
- name: Build GDExtension Debug Build
|
||||
shell: sh
|
||||
env:
|
||||
SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
|
||||
run: |
|
||||
scons target=${{ matrix.target-type }} platform=${{ matrix.platform }} arch=${{ matrix.arch }} precision=${{ matrix.float-precision }}
|
||||
|
||||
# Sign
|
||||
- name: Mac Sign
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit fbbf9ec4efd8f1055d00edb8d926eef8ba4c2cce
|
||||
Subproject commit 97c16d3379ba4bae4a9fbf9e74cc283868a4d3d2
|
Loading…
Reference in New Issue