浏览代码

SCons: Bump minimum SCons & Python versions

SCons: 3.1.2 → 4.0
Python: 3.6 → 3.8
Thaddeus Crews 8 月之前
父节点
当前提交
66fe2c8b44
共有 5 个文件被更改,包括 8 次插入19 次删除
  1. 0 1
      .github/actions/godot-deps/action.yml
  2. 4 6
      .github/workflows/linux_builds.yml
  3. 2 9
      SConstruct
  4. 1 2
      methods.py
  5. 1 1
      pyproject.toml

+ 0 - 1
.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

+ 4 - 6
.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

+ 2 - 9
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())
 

+ 1 - 2
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()

+ 1 - 1
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 = [