diff --git a/.github/actions/godot-build/action.yml b/.github/actions/godot-build/action.yml index c736708e64c..a78b6bd8baa 100644 --- a/.github/actions/godot-build/action.yml +++ b/.github/actions/godot-build/action.yml @@ -20,7 +20,9 @@ inputs: default: "${{ github.workspace }}/.scons-cache/" scons-cache-limit: description: The scons cache size limit. - default: 4096 + # 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 runs: using: "composite" steps: diff --git a/.github/actions/godot-cache/action.yml b/.github/actions/godot-cache/action.yml index db14a0b97af..2d7afc8514b 100644 --- a/.github/actions/godot-cache/action.yml +++ b/.github/actions/godot-cache/action.yml @@ -12,7 +12,7 @@ runs: steps: # Upload cache on completion and check it out now - name: Load .scons_cache directory - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{inputs.scons-cache}} key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} diff --git a/.github/actions/godot-deps/action.yml b/.github/actions/godot-deps/action.yml index ee4d7d37515..e99167ff2b5 100644 --- a/.github/actions/godot-deps/action.yml +++ b/.github/actions/godot-deps/action.yml @@ -12,7 +12,7 @@ runs: steps: # Use python 3.x release (works cross platform) - name: Set up Python 3.x - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: # Semantic version range syntax or exact version of a Python version python-version: ${{ inputs.python-version }} diff --git a/.github/actions/upload-artifact/action.yml b/.github/actions/upload-artifact/action.yml index bc1871b9148..ae0e634cbf4 100644 --- a/.github/actions/upload-artifact/action.yml +++ b/.github/actions/upload-artifact/action.yml @@ -12,7 +12,7 @@ runs: using: "composite" steps: - name: Upload Godot Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.name }} path: ${{ inputs.path }} diff --git a/.github/workflows/android_builds.yml b/.github/workflows/android_builds.yml index 671d5c52a0b..064f41579c3 100644 --- a/.github/workflows/android_builds.yml +++ b/.github/workflows/android_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no @@ -13,11 +14,10 @@ concurrency: jobs: android-template: runs-on: "ubuntu-20.04" - name: Template (target=release, tools=no) steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Azure repositories are not reliable, we need to prevent azure giving us packages. - name: Make apt sources.list use the default Ubuntu repositories @@ -27,8 +27,9 @@ jobs: sudo apt-get update - name: Set up Java 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: temurin java-version: 11 - name: Setup Godot build cache diff --git a/.github/workflows/ios_builds.yml b/.github/workflows/ios_builds.yml index 2e228b18834..93d3e2f8d81 100644 --- a/.github/workflows/ios_builds.yml +++ b/.github/workflows/ios_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no @@ -16,7 +17,7 @@ jobs: name: Template (target=release, tools=no) steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Godot build cache uses: ./.github/actions/godot-cache @@ -25,7 +26,7 @@ jobs: - name: Setup python and scons uses: ./.github/actions/godot-deps - - name: Compilation (armv7) + - name: Compilation (arm64v8) uses: ./.github/actions/godot-build with: sconsflags: ${{ env.SCONSFLAGS }} diff --git a/.github/workflows/javascript_builds.yml b/.github/workflows/javascript_builds.yml index 4f6da710708..24274caa5fa 100644 --- a/.github/workflows/javascript_builds.yml +++ b/.github/workflows/javascript_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no EM_VERSION: 3.1.10 @@ -18,18 +19,18 @@ jobs: name: Template (target=release, tools=no) steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Additional cache for Emscripten generated system libraries - name: Load Emscripten cache id: javascript-template-emscripten-cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{env.EM_CACHE_FOLDER}} key: ${{env.EM_VERSION}}-${{github.job}} - name: Set up Emscripten latest - uses: mymindstorm/setup-emsdk@v10 + uses: mymindstorm/setup-emsdk@v11 with: version: ${{env.EM_VERSION}} actions-cache-folder: ${{env.EM_CACHE_FOLDER}} diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml index e4a480a6b19..9cc9fff9023 100644 --- a/.github/workflows/linux_builds.yml +++ b/.github/workflows/linux_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes @@ -47,7 +48,7 @@ jobs: artifact: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Linux dependencies shell: bash @@ -130,6 +131,7 @@ jobs: if: ${{ matrix.artifact }} run: | strip bin/godot.* + chmod +x bin/godot.* - name: Upload artifact uses: ./.github/actions/upload-artifact diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml index cab505cd27a..bf7baf54fc6 100644 --- a/.github/workflows/macos_builds.yml +++ b/.github/workflows/macos_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no @@ -30,7 +31,7 @@ jobs: tools: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Godot build cache uses: ./.github/actions/godot-cache @@ -49,6 +50,11 @@ jobs: target: ${{ matrix.target }} tools: ${{ matrix.tools }} + - name: Prepare artifact + run: | + strip bin/godot.* + chmod +x bin/godot.* + - name: Upload artifact uses: ./.github/actions/upload-artifact with: diff --git a/.github/workflows/server_builds.yml b/.github/workflows/server_builds.yml index e76c7b4ab2c..0be24700f4e 100644 --- a/.github/workflows/server_builds.yml +++ b/.github/workflows/server_builds.yml @@ -3,6 +3,7 @@ on: [push, pull_request] # Global Settings env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no module_mono_enabled=yes mono_static=yes mono_glue=no @@ -29,7 +30,7 @@ jobs: tools: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Linux dependencies shell: bash diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml index 3266925267e..ab2fb0caa51 100644 --- a/.github/workflows/static_checks.yml +++ b/.github/workflows/static_checks.yml @@ -1,13 +1,17 @@ name: 📊 Static Checks on: [push, pull_request] +concurrency: + group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-static + cancel-in-progress: true + jobs: static-checks: name: Static Checks (clang-format, black format, file format, documentation checks) runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 # Azure repositories are not reliable, we need to prevent Azure giving us packages. - name: Make apt sources.list use the default Ubuntu repositories @@ -23,16 +27,12 @@ jobs: sudo apt-get install -qq dos2unix recode clang-format-13 libxml2-utils sudo update-alternatives --remove-all clang-format sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-13 100 - sudo pip3 install black==21.10b0 pygments + sudo pip3 install black==22.3.0 pygments - name: File formatting checks (file_format.sh) run: | bash ./misc/scripts/file_format.sh - - name: Style checks via clang-format (clang_format.sh) - run: | - bash ./misc/scripts/clang_format.sh - - name: Python style checks via black (black_format.sh) run: | bash ./misc/scripts/black_format.sh @@ -51,3 +51,7 @@ jobs: - name: Documentation checks run: | doc/tools/make_rst.py --dry-run doc/classes modules + + - name: Style checks via clang-format (clang_format.sh) + run: | + bash ./misc/scripts/clang_format.sh diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml index 803b2809c77..bf75192dfcc 100644 --- a/.github/workflows/windows_builds.yml +++ b/.github/workflows/windows_builds.yml @@ -4,6 +4,7 @@ on: [push, pull_request] # Global Settings # SCONS_CACHE for windows must be set in the build environment env: + # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONS_CACHE_MSVC_CONFIG: true @@ -33,7 +34,7 @@ jobs: tools: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Godot build cache uses: ./.github/actions/godot-cache @@ -51,7 +52,10 @@ jobs: platform: windows target: ${{ matrix.target }} tools: ${{ matrix.tools }} - scons-cache-limit: 3072 + + - name: Prepare artifact + run: | + Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force - name: Upload artifact uses: ./.github/actions/upload-artifact diff --git a/compat.py b/compat.py index 8fcaa4f7c78..725a4783771 100644 --- a/compat.py +++ b/compat.py @@ -43,7 +43,6 @@ if sys.version_info < (3,): # Not properly equivalent to __qualname__ in py3, but it doesn't matter. return obj.__name__ - else: def isbasestring(s): diff --git a/gles_builders.py b/gles_builders.py index ef0cb811f57..f43b3b85008 100644 --- a/gles_builders.py +++ b/gles_builders.py @@ -390,7 +390,7 @@ def build_legacygl_header(filename, include, class_suffix, output_attribs, gles2 x = header_data.enums[xv] bits = 1 amt = len(x) - while 2 ** bits < amt: + while 2**bits < amt: bits += 1 strs = "{" for i in range(amt): diff --git a/platform/server/detect.py b/platform/server/detect.py index 6fa838df17d..98ecb771ae0 100644 --- a/platform/server/detect.py +++ b/platform/server/detect.py @@ -76,7 +76,7 @@ def configure(env): ## Architecture - is64 = sys.maxsize > 2 ** 32 + is64 = sys.maxsize > 2**32 if env["bits"] == "default": env["bits"] = "64" if is64 else "32"