summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThaddeus Crews <repiteo@outlook.com>2024-11-12 10:21:12 -0600
committerThaddeus Crews <repiteo@outlook.com>2024-11-12 11:30:24 -0600
commit66fe2c8b44f34ea72892fed9594396d33a59f251 (patch)
treef524cc3d3b482c3df0fda0ce7d6c23b5622afae8
parentcaff0ff591ed63234474c46a6fd868661aa8ea01 (diff)
downloadredot-engine-66fe2c8b44f34ea72892fed9594396d33a59f251.tar.gz
SCons: Bump minimum SCons & Python versions
SCons: 3.1.2 → 4.0 Python: 3.6 → 3.8
-rw-r--r--.github/actions/godot-deps/action.yml1
-rw-r--r--.github/workflows/linux_builds.yml10
-rw-r--r--SConstruct11
-rw-r--r--methods.py3
-rw-r--r--pyproject.toml2
5 files changed, 8 insertions, 19 deletions
diff --git a/.github/actions/godot-deps/action.yml b/.github/actions/godot-deps/action.yml
index eb9bdef1e7..bd9a1f55ed 100644
--- a/.github/actions/godot-deps/action.yml
+++ b/.github/actions/godot-deps/action.yml
@@ -27,6 +27,5 @@ runs:
shell: bash
run: |
python -c "import sys; print(sys.version)"
- python -m pip install wheel
python -m pip install scons==${{ inputs.scons-version }}
scons --version
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
index cf653caa3d..bd4e2856e3 100644
--- a/.github/workflows/linux_builds.yml
+++ b/.github/workflows/linux_builds.yml
@@ -17,8 +17,8 @@ concurrency:
jobs:
build-linux:
- # If unspecified, stay one LTS before latest to increase portability of Linux artifacts.
- runs-on: ${{ matrix.os || 'ubuntu-22.04' }}
+ # Stay one LTS before latest to increase portability of Linux artifacts.
+ runs-on: ubuntu-22.04
name: ${{ matrix.name }}
strategy:
fail-fast: false
@@ -61,8 +61,6 @@ jobs:
artifact: false
# Test our oldest supported SCons/Python versions on one arbitrary editor build.
legacy-scons: true
- # Python 3.6 unavailable on 22.04.
- os: ubuntu-20.04
- 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
@@ -132,8 +130,8 @@ jobs:
uses: ./.github/actions/godot-deps
with:
# Sync with Ensure*Version in SConstruct.
- python-version: 3.6
- scons-version: 3.1.2
+ python-version: 3.8
+ scons-version: 4.0
- name: Setup GCC problem matcher
uses: ammaraskar/gcc-problem-matcher@master
diff --git a/SConstruct b/SConstruct
index ee34d421e0..3a01a3f41e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,8 +1,8 @@
#!/usr/bin/env python
from misc.utility.scons_hints import *
-EnsureSConsVersion(3, 1, 2)
-EnsurePythonVersion(3, 6)
+EnsureSConsVersion(4, 0)
+EnsurePythonVersion(3, 8)
# System
import atexit
@@ -1060,13 +1060,6 @@ if env["vsproj"]:
env.vs_srcs = []
if env["compiledb"]:
- if env.scons_version < (4, 0, 0):
- # Generating the compilation DB (`compile_commands.json`) requires SCons 4.0.0 or later.
- print_error(
- "The `compiledb=yes` option requires SCons 4.0 or later, but your version is %s." % scons_raw_version
- )
- Exit(255)
-
env.Tool("compilation_db")
env.Alias("compiledb", env.CompilationDatabase())
diff --git a/methods.py b/methods.py
index 64c3839718..1fb6f367b0 100644
--- a/methods.py
+++ b/methods.py
@@ -409,8 +409,7 @@ def use_windows_spawn_fix(self, platform=None):
"shell": False,
"env": env,
}
- if sys.version_info >= (3, 7, 0):
- popen_args["text"] = True
+ popen_args["text"] = True
proc = subprocess.Popen(cmdline, **popen_args)
_, err = proc.communicate()
rv = proc.wait()
diff --git a/pyproject.toml b/pyproject.toml
index a4bfd27816..c4fbe4a459 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,7 +16,7 @@ python_version = "3.8"
extend-exclude = ["thirdparty"]
extend-include = ["SConstruct", "SCsub"]
line-length = 120
-target-version = "py37"
+target-version = "py38"
[tool.ruff.lint]
extend-select = [