summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/actions/godot-build/action.yml4
-rw-r--r--.github/actions/godot-cache/action.yml6
-rw-r--r--.github/actions/godot-deps/action.yml21
-rw-r--r--.github/workflows/android_builds.yml2
-rw-r--r--.github/workflows/godot_cpp_test.yml4
-rw-r--r--.github/workflows/ios_builds.yml2
-rw-r--r--.github/workflows/linux_builds.yml13
-rw-r--r--.github/workflows/macos_builds.yml2
-rw-r--r--.github/workflows/web_builds.yml2
-rw-r--r--.github/workflows/windows_builds.yml2
-rw-r--r--SConstruct2
11 files changed, 37 insertions, 23 deletions
diff --git a/.github/actions/godot-build/action.yml b/.github/actions/godot-build/action.yml
index 0a0899db78..bf29b7e430 100644
--- a/.github/actions/godot-build/action.yml
+++ b/.github/actions/godot-build/action.yml
@@ -13,10 +13,10 @@ inputs:
sconsflags:
default: ""
scons-cache:
- description: The scons cache path.
+ description: The SCons cache path.
default: "${{ github.workspace }}/.scons-cache/"
scons-cache-limit:
- description: The scons cache size limit.
+ description: The SCons cache size limit.
# actions/cache has 10 GiB limit, and GitHub runners have a 14 GiB disk.
# Limit to 7 GiB to avoid having the extracted cache fill the disk.
default: 7168
diff --git a/.github/actions/godot-cache/action.yml b/.github/actions/godot-cache/action.yml
index b7ca01bb47..13142e7ed1 100644
--- a/.github/actions/godot-cache/action.yml
+++ b/.github/actions/godot-cache/action.yml
@@ -5,13 +5,13 @@ inputs:
description: The cache base name (job name by default).
default: "${{github.job}}"
scons-cache:
- description: The scons cache path.
+ description: The SCons cache path.
default: "${{github.workspace}}/.scons-cache/"
runs:
using: "composite"
steps:
- # Upload cache on completion and check it out now
- - name: Load .scons_cache directory
+ # Upload cache on completion and check it out now.
+ - name: Load SCons cache directory
uses: actions/cache@v4
with:
path: ${{inputs.scons-cache}}
diff --git a/.github/actions/godot-deps/action.yml b/.github/actions/godot-deps/action.yml
index cac72c436e..07a364cd79 100644
--- a/.github/actions/godot-deps/action.yml
+++ b/.github/actions/godot-deps/action.yml
@@ -1,27 +1,30 @@
-name: Setup python and scons
-description: Setup python, install the pip version of scons.
+name: Setup Python and SCons
+description: Setup Python, install the pip version of SCons.
inputs:
python-version:
- description: The python version to use.
+ description: The Python version to use.
default: "3.x"
python-arch:
- description: The python architecture.
+ description: The Python architecture.
default: "x64"
+ scons-version:
+ description: The SCons version to use.
+ default: "4.7.0"
runs:
using: "composite"
steps:
- # 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
+ # Semantic version range syntax or exact version of a Python version.
python-version: ${{ inputs.python-version }}
- # Optional - x64 or x86 architecture, defaults to x64
+ # Optional - x64 or x86 architecture, defaults to x64.
architecture: ${{ inputs.python-arch }}
- - name: Setup scons
+ - name: Setup SCons
shell: bash
run: |
python -c "import sys; print(sys.version)"
- python -m pip install scons==4.7.0
+ python -m pip install wheel
+ python -m pip install scons==${{ inputs.scons-version }}
scons --version
diff --git a/.github/workflows/android_builds.yml b/.github/workflows/android_builds.yml
index 5cb66a40ab..9a488bd095 100644
--- a/.github/workflows/android_builds.yml
+++ b/.github/workflows/android_builds.yml
@@ -32,7 +32,7 @@ jobs:
uses: ./.github/actions/godot-cache
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Compilation (arm32)
diff --git a/.github/workflows/godot_cpp_test.yml b/.github/workflows/godot_cpp_test.yml
index 7350920810..57114dacfc 100644
--- a/.github/workflows/godot_cpp_test.yml
+++ b/.github/workflows/godot_cpp_test.yml
@@ -22,7 +22,7 @@ jobs:
with:
submodules: recursive
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
# Checkout godot-cpp
@@ -47,7 +47,7 @@ jobs:
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
+ # TODO: Add caching to the SCons build and store it for CI via the godot-cache
# action.
# Build godot-cpp test extension
diff --git a/.github/workflows/ios_builds.yml b/.github/workflows/ios_builds.yml
index e205d551ed..0546f43acc 100644
--- a/.github/workflows/ios_builds.yml
+++ b/.github/workflows/ios_builds.yml
@@ -26,7 +26,7 @@ jobs:
uses: ./.github/actions/godot-cache
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Compilation (arm64)
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
index 0420a02b1d..6b98256110 100644
--- a/.github/workflows/linux_builds.yml
+++ b/.github/workflows/linux_builds.yml
@@ -58,6 +58,8 @@ jobs:
tests: true
# Skip 2GiB artifact speeding up action.
artifact: false
+ # Test our oldest supported SCons/Python versions on one arbitrary editor build.
+ legacy-scons: true
- name: Editor with ThreadSanitizer (target=editor, tests=yes, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
cache-name: linux-editor-thread-sanitizer
@@ -115,9 +117,18 @@ jobs:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
+ if: ${{ ! matrix.legacy-scons }}
uses: ./.github/actions/godot-deps
+ - name: Setup Python and SCons (legacy versions)
+ if: ${{ matrix.legacy-scons }}
+ uses: ./.github/actions/godot-deps
+ with:
+ # Sync with Ensure*Version in SConstruct.
+ python-version: 3.6
+ scons-version: 3.1.2
+
- name: Setup GCC problem matcher
uses: ammaraskar/gcc-problem-matcher@master
diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml
index 70031ec4c3..badcb688d1 100644
--- a/.github/workflows/macos_builds.yml
+++ b/.github/workflows/macos_builds.yml
@@ -43,7 +43,7 @@ jobs:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Setup Vulkan SDK
diff --git a/.github/workflows/web_builds.yml b/.github/workflows/web_builds.yml
index cfa1571d1f..1eb7b901cd 100644
--- a/.github/workflows/web_builds.yml
+++ b/.github/workflows/web_builds.yml
@@ -58,7 +58,7 @@ jobs:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Compilation
diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml
index 5443ba20ab..f9513af5e3 100644
--- a/.github/workflows/windows_builds.yml
+++ b/.github/workflows/windows_builds.yml
@@ -48,7 +48,7 @@ jobs:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- - name: Setup python and scons
+ - name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Download Direct3D 12 SDK components
diff --git a/SConstruct b/SConstruct
index c062f95bdb..c668ac7df3 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-EnsureSConsVersion(3, 0, 0)
+EnsureSConsVersion(3, 1, 2)
EnsurePythonVersion(3, 6)
# System