a63c37dca1
The min SCons version had to be bumped as SCons 3.0 before 3.0.3 seems broken (see #92043), and there's little gain from supporting 3.0.3-3.0.5. 3.1.2 is also the first version to avoid ambiguities between Python 2 and Python 3 usage, so we finally use it as the minimum baseline. Also test against Python 3.6 which is also our minimum supported version. This should help prevent regressions whenever we modernize the build scripts.
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
name: 🪲 Godot CPP
|
|
on:
|
|
workflow_call:
|
|
|
|
# Global Settings
|
|
env:
|
|
# Used for the cache key. Add version suffix to force clean build.
|
|
GODOT_BASE_BRANCH: master
|
|
# Used for the godot-cpp checkout.
|
|
GODOT_CPP_BRANCH: '4.2'
|
|
|
|
concurrency:
|
|
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-cpp-tests
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
godot-cpp-tests:
|
|
runs-on: "ubuntu-20.04"
|
|
name: "Build and test Godot CPP"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Setup Python and SCons
|
|
uses: ./.github/actions/godot-deps
|
|
|
|
# Checkout godot-cpp
|
|
- name: Checkout godot-cpp
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: godotengine/godot-cpp
|
|
ref: ${{ env.GODOT_CPP_BRANCH }}
|
|
submodules: 'recursive'
|
|
path: 'godot-cpp'
|
|
|
|
# Download generated API dump
|
|
- name: Download GDExtension interface and API dump
|
|
uses: ./.github/actions/download-artifact
|
|
with:
|
|
name: 'godot-api-dump'
|
|
path: './godot-api'
|
|
|
|
# Extract and override existing files with generated files
|
|
- name: Extract GDExtension interface and API dump
|
|
run: |
|
|
cp -f godot-api/gdextension_interface.h godot-cpp/gdextension/
|
|
cp -f godot-api/extension_api.json godot-cpp/gdextension/
|
|
|
|
# TODO: Add caching to the SCons build and store it for CI via the godot-cache
|
|
# action.
|
|
|
|
# Build godot-cpp test extension
|
|
- name: Build godot-cpp test extension
|
|
run: |
|
|
cd godot-cpp/test
|
|
scons target=template_debug dev_build=yes
|
|
cd ../..
|