From 66fe2c8b44f34ea72892fed9594396d33a59f251 Mon Sep 17 00:00:00 2001 From: Thaddeus Crews Date: Tue, 12 Nov 2024 10:21:12 -0600 Subject: [PATCH] SCons: Bump minimum SCons & Python versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SCons: 3.1.2 → 4.0 Python: 3.6 → 3.8 --- .github/actions/godot-deps/action.yml | 1 - .github/workflows/linux_builds.yml | 10 ++++------ SConstruct | 11 ++--------- methods.py | 3 +-- pyproject.toml | 2 +- 5 files changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/actions/godot-deps/action.yml b/.github/actions/godot-deps/action.yml index eb9bdef1e77..bd9a1f55ed3 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 cf653caa3de..bd4e2856e39 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 ee34d421e07..3a01a3f41e6 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 64c38397184..1fb6f367b06 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 a4bfd278161..c4fbe4a4594 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 = [