CI: Sync configuration with master branch

Updates various actions to latest versions:

actions/cache@v3
actions/checkout@v3
actions/upload-artifact@v3
actions/setup-dotnet@v2
actions/setup-java@v3
actions/setup-python@v4
mymindstorm/setup-emsdk@v11
This commit is contained in:
Rémi Verschelde 2022-08-25 14:11:54 +02:00
parent a86da2eb8b
commit abaa76fcf9
15 changed files with 47 additions and 26 deletions

View File

@ -20,7 +20,9 @@ inputs:
default: "${{ github.workspace }}/.scons-cache/" default: "${{ github.workspace }}/.scons-cache/"
scons-cache-limit: scons-cache-limit:
description: The scons cache size 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: runs:
using: "composite" using: "composite"
steps: steps:

View File

@ -12,7 +12,7 @@ runs:
steps: steps:
# Upload cache on completion and check it out now # Upload cache on completion and check it out now
- name: Load .scons_cache directory - name: Load .scons_cache directory
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: ${{inputs.scons-cache}} path: ${{inputs.scons-cache}}
key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}

View File

@ -12,7 +12,7 @@ runs:
steps: steps:
# Use python 3.x release (works cross platform) # Use python 3.x release (works cross platform)
- name: Set up Python 3.x - name: Set up Python 3.x
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: 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 }} python-version: ${{ inputs.python-version }}

View File

@ -12,7 +12,7 @@ runs:
using: "composite" using: "composite"
steps: steps:
- name: Upload Godot Artifact - name: Upload Godot Artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.name }} name: ${{ inputs.name }}
path: ${{ inputs.path }} path: ${{ inputs.path }}

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
@ -13,11 +14,10 @@ concurrency:
jobs: jobs:
android-template: android-template:
runs-on: "ubuntu-20.04" runs-on: "ubuntu-20.04"
name: Template (target=release, tools=no) name: Template (target=release, tools=no)
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
# Azure repositories are not reliable, we need to prevent azure giving us packages. # Azure repositories are not reliable, we need to prevent azure giving us packages.
- name: Make apt sources.list use the default Ubuntu repositories - name: Make apt sources.list use the default Ubuntu repositories
@ -27,8 +27,9 @@ jobs:
sudo apt-get update sudo apt-get update
- name: Set up Java 11 - name: Set up Java 11
uses: actions/setup-java@v1 uses: actions/setup-java@v3
with: with:
distribution: temurin
java-version: 11 java-version: 11
- name: Setup Godot build cache - name: Setup Godot build cache

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
@ -16,7 +17,7 @@ jobs:
name: Template (target=release, tools=no) name: Template (target=release, tools=no)
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Setup Godot build cache - name: Setup Godot build cache
uses: ./.github/actions/godot-cache uses: ./.github/actions/godot-cache
@ -25,7 +26,7 @@ jobs:
- name: Setup python and scons - name: Setup python and scons
uses: ./.github/actions/godot-deps uses: ./.github/actions/godot-deps
- name: Compilation (armv7) - name: Compilation (arm64v8)
uses: ./.github/actions/godot-build uses: ./.github/actions/godot-build
with: with:
sconsflags: ${{ env.SCONSFLAGS }} sconsflags: ${{ env.SCONSFLAGS }}

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
EM_VERSION: 3.1.10 EM_VERSION: 3.1.10
@ -18,18 +19,18 @@ jobs:
name: Template (target=release, tools=no) name: Template (target=release, tools=no)
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
# Additional cache for Emscripten generated system libraries # Additional cache for Emscripten generated system libraries
- name: Load Emscripten cache - name: Load Emscripten cache
id: javascript-template-emscripten-cache id: javascript-template-emscripten-cache
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: ${{env.EM_CACHE_FOLDER}} path: ${{env.EM_CACHE_FOLDER}}
key: ${{env.EM_VERSION}}-${{github.job}} key: ${{env.EM_VERSION}}-${{github.job}}
- name: Set up Emscripten latest - name: Set up Emscripten latest
uses: mymindstorm/setup-emsdk@v10 uses: mymindstorm/setup-emsdk@v11
with: with:
version: ${{env.EM_VERSION}} version: ${{env.EM_VERSION}}
actions-cache-folder: ${{env.EM_CACHE_FOLDER}} actions-cache-folder: ${{env.EM_CACHE_FOLDER}}

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes SCONSFLAGS: verbose=yes warnings=all werror=yes
@ -47,7 +48,7 @@ jobs:
artifact: true artifact: true
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Linux dependencies - name: Linux dependencies
shell: bash shell: bash
@ -130,6 +131,7 @@ jobs:
if: ${{ matrix.artifact }} if: ${{ matrix.artifact }}
run: | run: |
strip bin/godot.* strip bin/godot.*
chmod +x bin/godot.*
- name: Upload artifact - name: Upload artifact
uses: ./.github/actions/upload-artifact uses: ./.github/actions/upload-artifact

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
@ -30,7 +31,7 @@ jobs:
tools: false tools: false
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Setup Godot build cache - name: Setup Godot build cache
uses: ./.github/actions/godot-cache uses: ./.github/actions/godot-cache
@ -49,6 +50,11 @@ jobs:
target: ${{ matrix.target }} target: ${{ matrix.target }}
tools: ${{ matrix.tools }} tools: ${{ matrix.tools }}
- name: Prepare artifact
run: |
strip bin/godot.*
chmod +x bin/godot.*
- name: Upload artifact - name: Upload artifact
uses: ./.github/actions/upload-artifact uses: ./.github/actions/upload-artifact
with: with:

View File

@ -3,6 +3,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x 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 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 tools: false
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Linux dependencies - name: Linux dependencies
shell: bash shell: bash

View File

@ -1,13 +1,17 @@
name: 📊 Static Checks name: 📊 Static Checks
on: [push, pull_request] on: [push, pull_request]
concurrency:
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-static
cancel-in-progress: true
jobs: jobs:
static-checks: static-checks:
name: Static Checks (clang-format, black format, file format, documentation checks) name: Static Checks (clang-format, black format, file format, documentation checks)
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
# Azure repositories are not reliable, we need to prevent Azure giving us packages. # Azure repositories are not reliable, we need to prevent Azure giving us packages.
- name: Make apt sources.list use the default Ubuntu repositories - 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 apt-get install -qq dos2unix recode clang-format-13 libxml2-utils
sudo update-alternatives --remove-all clang-format sudo update-alternatives --remove-all clang-format
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-13 100 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) - name: File formatting checks (file_format.sh)
run: | run: |
bash ./misc/scripts/file_format.sh 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) - name: Python style checks via black (black_format.sh)
run: | run: |
bash ./misc/scripts/black_format.sh bash ./misc/scripts/black_format.sh
@ -51,3 +51,7 @@ jobs:
- name: Documentation checks - name: Documentation checks
run: | run: |
doc/tools/make_rst.py --dry-run doc/classes modules 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

View File

@ -4,6 +4,7 @@ on: [push, pull_request]
# Global Settings # Global Settings
# SCONS_CACHE for windows must be set in the build environment # SCONS_CACHE for windows must be set in the build environment
env: env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: 3.x GODOT_BASE_BRANCH: 3.x
SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
SCONS_CACHE_MSVC_CONFIG: true SCONS_CACHE_MSVC_CONFIG: true
@ -33,7 +34,7 @@ jobs:
tools: false tools: false
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Setup Godot build cache - name: Setup Godot build cache
uses: ./.github/actions/godot-cache uses: ./.github/actions/godot-cache
@ -51,7 +52,10 @@ jobs:
platform: windows platform: windows
target: ${{ matrix.target }} target: ${{ matrix.target }}
tools: ${{ matrix.tools }} tools: ${{ matrix.tools }}
scons-cache-limit: 3072
- name: Prepare artifact
run: |
Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
- name: Upload artifact - name: Upload artifact
uses: ./.github/actions/upload-artifact uses: ./.github/actions/upload-artifact

View File

@ -43,7 +43,6 @@ if sys.version_info < (3,):
# Not properly equivalent to __qualname__ in py3, but it doesn't matter. # Not properly equivalent to __qualname__ in py3, but it doesn't matter.
return obj.__name__ return obj.__name__
else: else:
def isbasestring(s): def isbasestring(s):

View File

@ -390,7 +390,7 @@ def build_legacygl_header(filename, include, class_suffix, output_attribs, gles2
x = header_data.enums[xv] x = header_data.enums[xv]
bits = 1 bits = 1
amt = len(x) amt = len(x)
while 2 ** bits < amt: while 2**bits < amt:
bits += 1 bits += 1
strs = "{" strs = "{"
for i in range(amt): for i in range(amt):

View File

@ -76,7 +76,7 @@ def configure(env):
## Architecture ## Architecture
is64 = sys.maxsize > 2 ** 32 is64 = sys.maxsize > 2**32
if env["bits"] == "default": if env["bits"] == "default":
env["bits"] = "64" if is64 else "32" env["bits"] = "64" if is64 else "32"