diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 039e7b3a..e8c690e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,6 +56,7 @@ jobs: run: | python -m pip install --upgrade pip pip install pytest typing_extensions + python tools/pcommand win_ci_install_prereqs - name: Run tests run: python tools/pcommand pytest -v tests - name: Compile binary diff --git a/tools/batools/pcommand.py b/tools/batools/pcommand.py index 996ddfe0..6b8b0a53 100644 --- a/tools/batools/pcommand.py +++ b/tools/batools/pcommand.py @@ -845,10 +845,9 @@ def gen_flat_data_code() -> None: batools.meta.gen_flat_data_code(str(PROJROOT), inpath, outpath, varname) -def win_ci_binary_build() -> None: - """Simple windows binary build for ci.""" +def win_ci_install_prereqs() -> None: + """Install bits needed for basic win ci.""" import json - import subprocess from efrotools.efrocache import get_target # We'll need to pull a handfull of things out of efrocache for the @@ -864,18 +863,24 @@ def win_ci_binary_build() -> None: } # Look through everything that gets generated by our meta builds - # and pick out anything the compile requires. + # and pick out anything we need for our basic builds/tests. with open('src/meta/.meta_manifest_public.json') as infile: meta_public: List[str] = json.loads(infile.read()) with open('src/meta/.meta_manifest_private.json') as infile: meta_private: List[str] = json.loads(infile.read()) for target in meta_public + meta_private: - if target.startswith('src/ballistica/generated/'): + if (target.startswith('src/ballistica/generated/') + or target.startswith('src/ba_data/python/ba/_generated/')): needed_targets.add(target) for target in needed_targets: get_target(target) + +def win_ci_binary_build() -> None: + """Simple windows binary build for ci.""" + import subprocess + # Do the thing. subprocess.run( [ diff --git a/tools/pcommand b/tools/pcommand index 0835f818..8a7e76fc 100755 --- a/tools/pcommand +++ b/tools/pcommand @@ -41,7 +41,8 @@ from batools.pcommand import ( cmake_prep_dir, gen_binding_code, gen_flat_data_code, wsl_path_to_win, wsl_build_check_win_drive, win_ci_binary_build, genchangelog, android_sdk_utils, update_resources_makefile, update_meta_makefile, - xcode_build_path, update_python_enums_module, update_dummy_module) + xcode_build_path, update_python_enums_module, update_dummy_module, + win_ci_install_prereqs) # pylint: enable=unused-import if TYPE_CHECKING: