M01: Skip prepare-environment in CI (deterministic bootstrap)

- Add --exit handling when --skip-prepare-environment (launch.py)
- Setup: python launch.py --skip-prepare-environment --skip-torch-cuda-test --exit
- Smoke: python launch.py --skip-prepare-environment --skip-torch-cuda-test --test-server --use-cpu all --exit

CI no longer depends on external git clones. Requires repositories cache to be seeded.

Made-with: Cursor
This commit is contained in:
Michael Cahill 2026-03-07 15:57:52 -08:00
parent f2db027b93
commit 31588a1e59
3 changed files with 9 additions and 5 deletions

View file

@ -45,7 +45,7 @@ jobs:
pip install pip-audit
pip-audit || true
- name: Setup environment
run: python launch.py --skip-torch-cuda-test --do-not-download-clip --exit
run: python launch.py --skip-prepare-environment --skip-torch-cuda-test --exit
env:
PIP_DISABLE_PIP_VERSION_CHECK: "1"
PIP_PROGRESS_BAR: "off"
@ -54,10 +54,7 @@ jobs:
PYTHONUNBUFFERED: "1"
- name: Smoke startup
run: |
python launch.py --skip-prepare-environment --skip-torch-cuda-test --test-server --do-not-download-clip --no-half --disable-opt-split-attention --use-cpu all --api-server-stop --port 7860 &
wait-for-it --service 127.0.0.1:7860 -t 60
curl -s -X POST http://127.0.0.1:7860/sdapi/v1/server-stop || true
wait
python launch.py --skip-prepare-environment --skip-torch-cuda-test --test-server --use-cpu all --exit
- name: Print installed packages
run: pip freeze
- name: Start test server

View file

@ -12,3 +12,5 @@
| 2025-03-07 | run | git push, CI run 22809624907 | Tests failed at Setup env (CLIP pkg_resources) | done |
| 2025-03-07 | search_replace | Add PIP_NO_BUILD_ISOLATION for CLIP build | .github/workflows/run_tests.yaml | done (reverted - env not passed to pip subprocess) |
| 2025-03-07 | search_replace | Add --no-build-isolation to clip install in launch_utils | modules/launch_utils.py | done |
| 2025-03-07 | search_replace | Add --exit when skip_prepare_environment in launch.py | launch.py | done |
| 2025-03-07 | search_replace | Use --skip-prepare-environment for Setup and Smoke | .github/workflows/run_tests.yaml | done |

View file

@ -1,3 +1,5 @@
import sys
from modules import launch_utils
args = launch_utils.args
@ -37,6 +39,9 @@ def main():
with launch_utils.startup_timer.subcategory("prepare environment"):
if not args.skip_prepare_environment:
prepare_environment()
elif "--exit" in sys.argv:
print("Exiting because of --exit argument (skipped prepare environment)")
exit(0)
if args.test_server:
configure_for_tests()