From 66b7121e5c3c4f094edeb9d660f6af2fe3b09fd4 Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Tue, 24 Dec 2024 01:34:59 -0800 Subject: [PATCH] ci fix --- .efrocachemap | 48 +++++++++---------- CHANGELOG.md | 2 +- config/requirements.txt | 2 +- src/assets/ba_data/python/babase/_language.py | 9 +++- src/assets/ba_data/python/baenv.py | 2 +- src/ballistica/shared/ballistica.cc | 2 +- tools/efrotools/code.py | 45 +++++++++-------- 7 files changed, 60 insertions(+), 50 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index b5d97b9a..f4264322 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4103,22 +4103,22 @@ "build/assets/windows/Win32/ucrtbased.dll": "bfd1180c269d3950b76f35a63655e9e1", "build/assets/windows/Win32/vc_redist.x86.exe": "15a5f1f876503885adbdf5b3989b3718", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "7b3d63941d9fa6824cd495a76a2b22e8", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "f156725c4d4225f98862ef005401c0ee", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "a3347cdc1a4f0bfad79645d1a4684f50", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "9ba8100133ce9fe51cf04b8f43c458b6", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "bc9e2a7fa797d8e1defc4baa4b7cbc4f", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "8d1654b2e246359a24d2675d108213ce", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "e4a5ff44ae13ab883b338e8d67ef4a4e", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "e0271f9b10935bda462768bdd741171f", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "0e1d189b5770b5e3be4af2d774110b96", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "0a8dc7ec29d7b2d8adad0584bea36a77", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "63107e2b4e759aa760840a4a6b25cf97", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "c44a8a9a4d39b7071bbb3699388e72d1", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "b300b1ac073743dd181f89ae2a6116a1", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "9c3c4c0890fcd2f911db4812b1feb64c", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "ad3861231c0d809f71380b6c1f0fae66", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "4cfa78ebc61d065974d4b92183f97b20", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "e22300fab655f96dae4021fa82cf5130", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "a585418907ebcd55788fc7522293055d", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "58e5c912b710cb61600f3ad82efd17e1", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "867fc8d0171facc2791323b4a2fc46fc", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "d2f9014578a6d5eca3c345b7c9470812", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "56d41454f04299cfa455aba882028cc1", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "21a9ef40c5cd663a29dc8c24c2ff0f95", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "29e757036b87bef6ce6d68203bda9efb", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "66dde4c6865cfc5b8de8369b92c4a103", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "55f347328de6f3e2c8f2dc9749b57436", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0d1dbc0d04f264ceddb3ad6803105bd9", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "12e891f298f604be7592b7c7ed5b8479", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "30cb8ee5ebd69d98a3bd625774d19bf0", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "e788895a7c94af2cb7817c02e061c429", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "92a3afc186b9031c7ff91ce2a6800ce7", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "7e947dea1b10297b441ffc829943f437", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "c8c1f174ed35992eb71bf1ff22787f4e", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "67e1e5286f3fe64c9935e0e22d3fe443", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "c8c1f174ed35992eb71bf1ff22787f4e", @@ -4131,14 +4131,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "1c2d42d75e8f975514b2e30f5602516d", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "b39713b9f3a9102fefff1f6d62a9fd82", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "1c2d42d75e8f975514b2e30f5602516d", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "d20558dc79b1f464b1f5da827bd78e79", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "5bca0252f3d7e608b9f541197d944baa", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "4702a62d35c9cd754246f34b421a8b67", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "222878dda88f0277c3a2c0f4cc53c3dd", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "8de8c0b23fc58cf5e2647ea3ce27d7e6", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "6a2e4a3c09ca4b5fad3025428cc96f3e", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "82eba4f4dcbe6d5fc135dd52b1ae0c65", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "b4f58ebad5e593c9f1000ea6e3408ec5", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "20ffab975711f6865ea4627a1e5ed377", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "06124d291e394169ff2a50bef10f832d", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "8d9d7fe4ab396118ef3ef2721372c9cf", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "18890dfa2a926a787d46f00a974eae95", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "d597aae4c2924f031d5514386ec84a63", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "04ab6918264677f49f3add66cdc722e8", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "2a4f8529288c1e8e584f8196085b840b", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "02da45dd942ae7703304750f2f6c05c1", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad", "src/ballistica/base/mgen/pyembed/binding_base.inc": "06042d31df0ff9af96b99477162e2a91", diff --git a/CHANGELOG.md b/CHANGELOG.md index baf783e5..374111e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22142, api 9, 2024-12-21) +### 1.7.37 (build 22143, api 9, 2024-12-22) - Bumping api version to 9. As you'll see below, there's some UI changes that will require a bit of work for any UI mods to adapt to. If your mods don't touch UI stuff at all you can simply bump your api version and call it a day. diff --git a/config/requirements.txt b/config/requirements.txt index 7145ee7a..54ae37d1 100644 --- a/config/requirements.txt +++ b/config/requirements.txt @@ -6,7 +6,7 @@ mypy==1.14.0 pbxproj==4.2.1 pdoc==15.0.1 pur==7.3.3 -pylint==3.3.2 +pylint==3.3.3 pylsp-mypy==0.6.9 pytest==8.3.4 python-daemon==3.1.2 diff --git a/src/assets/ba_data/python/babase/_language.py b/src/assets/ba_data/python/babase/_language.py index 1381e799..0f7af393 100644 --- a/src/assets/ba_data/python/babase/_language.py +++ b/src/assets/ba_data/python/babase/_language.py @@ -44,8 +44,13 @@ class LanguageSubsystem(AppSubsystem): (which may differ from locale if the user sets a language, etc.) """ env = _babase.env() - assert isinstance(env['locale'], str) - return env['locale'] + locale = env.get('locale') + if not isinstance(locale, str): + logging.warning( + 'Seem to be running in a dummy env; returning en_US locale.' + ) + locale = 'en_US' + return locale @property def language(self) -> str: diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 9d77d9c2..34346718 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -53,7 +53,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22142 +TARGET_BALLISTICA_BUILD = 22143 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 93b153b4..005b1097 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int { namespace ballistica { // These are set automatically via script; don't modify them here. -const int kEngineBuildNumber = 22142; +const int kEngineBuildNumber = 22143; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9; diff --git a/tools/efrotools/code.py b/tools/efrotools/code.py index daf498f1..a120c58d 100644 --- a/tools/efrotools/code.py +++ b/tools/efrotools/code.py @@ -455,6 +455,7 @@ def _dirty_dep_check( return curstate # Ok; there's no current state for this file. + # # First lets immediately mark it as clean so if a dependency of ours # queries it we won't loop infinitely. (If we're actually dirty that # will be reflected properly once we're done). @@ -494,7 +495,8 @@ def _dirty_dep_check( dirty = True break - # Cache and return our dirty state.. + # Cache and return our dirty state. + # # Note: for fast mode we limit to recursion==0 so we only write when # the file itself is being directly visited. if recursion == 0: @@ -526,9 +528,9 @@ def _run_pylint( if result != 0: raise CleanError(f'Pylint failed for {result} file(s).') - # Sanity check: when the linter fails we should always be failing too. - # If not, it means we're probably missing something and incorrectly - # marking a failed file as clean. + # Sanity check: when the linter fails we should always be + # failing too. If not, it means we're probably missing something + # and incorrectly marking a failed file as clean. if run.linter.msg_status != 0 and result == 0: raise RuntimeError( 'Pylint linter returned non-zero result' @@ -562,8 +564,8 @@ def _apply_pylint_run_to_cache( from efrotools.project import getprojectconfig - # First off, build a map of dirtyfiles to module names - # (and the corresponding reverse map). + # First off, build a map of dirtyfiles to module names (and the + # corresponding reverse map). paths_to_names: dict[str, str] = {} names_to_paths: dict[str, str] = {} for fname in allfiles: @@ -581,17 +583,19 @@ def _apply_pylint_run_to_cache( names_to_paths[val] = key # If there's any cyclic-import errors, just mark all deps as dirty; - # don't want to add the logic to figure out which ones the cycles cover - # since they all seems to appear as errors for the last file in the list. + # don't want to add the logic to figure out which ones the cycles + # cover since they all seems to appear as errors for the last file + # in the list. cycles: int = run.linter.stats.by_msg.get('cyclic-import', 0) have_dep_cycles: bool = cycles > 0 if have_dep_cycles: print(f'Found {cycles} cycle-errors; keeping all dirty files dirty.') # Update dependencies for what we just ran. - # A run leaves us with a map of modules to a list of the modules that - # imports them. We want the opposite though: for each of our modules - # we want a list of the modules it imports. + # + # A run leaves us with a map of modules to a list of the modules + # that imports them. We want the opposite though: for each of our + # modules we want a list of the modules it imports. reversedeps = {} # Make sure these are all proper module names; no foo.bar.__init__ stuff. @@ -614,10 +618,10 @@ def _apply_pylint_run_to_cache( # Add a few that this package itself triggers. ignored_untracked_deps |= {'pylint.lint', 'astroid.modutils', 'astroid'} - # EW; as of Python 3.9, suddenly I'm seeing system modules showing up - # here where I wasn't before. I wonder what changed. Anyway, explicitly - # suppressing them here but should come up with a more robust system - # as I feel this will get annoying fast. + # EW; as of Python 3.9, suddenly I'm seeing system modules showing + # up here where I wasn't before. I wonder what changed. Anyway, + # explicitly suppressing them here but should come up with a more + # robust system as I feel this will get annoying fast. ignored_untracked_deps |= { 're', 'importlib', @@ -682,6 +686,7 @@ def _apply_pylint_run_to_cache( } # Special case: + # # Ignore generated dummy-modules (we don't directly check those anymore # so they'll be listed as external). if os.path.exists('build/dummymodules'): @@ -719,17 +724,17 @@ def _apply_pylint_run_to_cache( depsval = [names_to_paths[dep] for dep in deps[fmod]] cache.entries[fname]['deps'] = depsval - # Let's print a list of modules with no detected deps so we can make sure - # this is behaving. + # Let's print a list of modules with no detected deps so we can make + # sure this is behaving. if no_deps_modules: if bool(False): print( 'NOTE: no dependencies found for:', ', '.join(no_deps_modules) ) - # Ok, now go through all dirtyfiles involved in this run. - # Mark them as either errored or clean depending on whether there's - # error info for them in the run stats. + # Ok, now go through all dirtyfiles involved in this run. Mark them + # as either errored or clean depending on whether there's error info + # for them in the run stats. # Once again need to convert any foo.bar.__init__ to foo.bar. stats_by_module: dict[str, Any] = {