feat: add pixi task runner to replace manual setup#23
Open
maciejmajek wants to merge 12 commits into
Open
Conversation
fix: run ros2 stack
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: add pixi task runner to replace manual setup
This PR adds pixi, a package manager and task runner, to replace the previous 20-step manual setup process.
DEMO_ROOTandO3DE_ROOTare now set automatically from the repo clone location — no.bashrcexports needed.What changed
pixi.toml— defines all build and run tasks; single source of truth for the project workflowpixi_activate.sh— automatically sources ROS 2 Jazzy and the project workspace on everypixi runinvocationpixi.lock— lockfile for reproducible environmentsscripts/download_models.sh— downloads all 5 models from HuggingFace automatically (embedding and reranker now included; SharePoint links removed)scripts/serve_all.sh— launches all 4 inference servers in a tmux 2×2 grid viapixi run serve-allscripts/smoke_test.sh— health-checks all inference endpoints with green/red color outputconfig.toml— removed stale manualllama-servercommand commentspyproject.toml— addedtool.uv.workspaceto excludeinference/from uv workspace.gitignore— addedmodels/pixi runcommandsSetup (was: ~20 manual steps)
For the 3-machine demo setup:
pixi run setuppixi run setup-hil(skips O3DE — no 30–60 min build)pixi run setup-hilKey improvements
.bashrcexports —DEMO_ROOTandO3DE_ROOTare set from$PIXI_PROJECT_ROOT, so the repo works from any clone locationsourcecalls — ROS 2 environment is sourced automatically before every taskpixi run setup-hilclones and builds only the ROS 2 workspace and Python dependencies, skipping O3DE entirelypixi run build-llama/pixi run setup-hil-localreplaces manual llama.cpp clone + cmake stepspixi run download-modelsfetches all 5 models from HuggingFace; embedding and reranker no longer require manual SharePoint downloadspixi run sim,pixi run ros2,pixi run orchestrator, etc. replace manual binary invocations and script callspixi run smoke-testchecks all inference server endpoints with color-coded outputAvailable tasks
pixi run setuppixi run setup-hilpixi run setup-hil-localpixi run setup-localpixi run build-llamapixi run download-modelspixi run simpixi run ros2pixi run orchestratorpixi run hmipixi run serve-allpixi run serve-llmpixi run serve-vlmpixi run serve-embeddingpixi run serve-rerankerpixi run smoke-testpixi run lint