Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
4bd534a
added mission_runner.py to automate running missions in osmo
krrishj18 Jun 10, 2026
6ad33f0
updated example mission
krrishj18 Jun 10, 2026
55be3f8
changes to recording topics
krrishj18 Jun 10, 2026
1fdbf8c
updates to example mission
krrishj18 Jun 10, 2026
61b673b
fixed mission runner script
krrishj18 Jun 11, 2026
42ecd1c
fixed duplicate airstack up issue and not recording mcap files
krrishj18 Jun 11, 2026
0c582b0
fixed iteration 1 not working
krrishj18 Jun 11, 2026
6459485
updated git ignore
krrishj18 Jul 1, 2026
3ab223f
updated with airlab info
krrishj18 Jul 15, 2026
12a7240
config updates
krrishj18 Jul 21, 2026
ee1c269
ci(orchestrator): migrate ephemeral CI runners from OpenStack to NVID…
pvkumara5 Jul 27, 2026
88d8c59
ci(orchestrator): pin AirLab OSMO JSON keys and runner image path
pvkumara5 Jul 29, 2026
165d011
docs(ci): document the OSMO-backed CI/CD pipeline
pvkumara5 Aug 7, 2026
f56810d
fix(ci): repair Docker builds on OSMO ephemeral runners
pvkumara5 Aug 7, 2026
4583165
fix(ci): seed PR Docker builds from a floating cache tag
pvkumara5 Aug 7, 2026
5550b76
ci(docker-build): retag unchanged images on VERSION bump
pvkumara5 Aug 7, 2026
b093327
fix(ci): parse quoted .env values before inline comments
pvkumara5 Aug 7, 2026
56a60c7
ci(docker-build): build/push services sequentially
pvkumara5 Aug 8, 2026
624dec7
chore: bump VERSION to 0.19.0-alpha.8 for retag validation
pvkumara5 Aug 8, 2026
d18efe9
fix(ci): unblock isaac-sim PX4 apt and robot colcon pytest
pvkumara5 Aug 11, 2026
961f9c2
Merge branch 'ci/osmo-orchestrator' into krrishj18/osmo-mission-runner
pvkumara5 Aug 11, 2026
d353eec
fix(ci): pass colcon --pytest-args as separate tokens
pvkumara5 Aug 11, 2026
382202b
fix(ci): quote colcon pytest args through bash -ic
pvkumara5 Aug 12, 2026
3d08099
fix(ci): pass colcon pytest flags via PYTEST_ADDOPTS
pvkumara5 Aug 12, 2026
51f2c8e
fix(ci): rename helper so pytest does not treat it as a hook
pvkumara5 Aug 12, 2026
9b8b28b
ci: skip image-build for build_packages reruns
pvkumara5 Aug 12, 2026
1335554
fix(ci): disable pytest plugin autoload for colcon tests
pvkumara5 Aug 12, 2026
6a28d20
fix(ci): skip lidar ament linters in package pytest config
pvkumara5 Aug 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed --gui
Empty file.
Empty file removed --num-robots
Empty file.
Empty file removed --sim
Empty file.
Empty file removed --stress-iterations
Empty file.
Empty file removed --trajectory-types
Empty file.
11 changes: 0 additions & 11 deletions -v

This file was deleted.

12 changes: 7 additions & 5 deletions .agents/skills/bump-version-and-release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,19 +64,21 @@ Three workflows in `.github/workflows/` interact with `VERSION`:
- **Trigger:** push to `main` or `develop` whose changed paths include `.env`, **and** the `VERSION=` line in `.env` differs from the previous commit. Also runs on manual `workflow_dispatch`.
- **Behavior on tag change:**
1. Runs on a self-hosted ephemeral GPU runner (`[self-hosted, airstack-ephemeral]`).
2. `docker compose build` for profiles `desktop,isaac-sim,ms-airsim`.
3. `docker compose push` to `${PROJECT_DOCKER_REGISTRY}` (set in `.env` — currently `airlab-docker.andrew.cmu.edu/airstack`).
4. Keyless `cosign sign` of every pushed image digest via GitHub OIDC.
5. `cosign verify` against the workflow's certificate identity.
2. Plans per service via `.github/workflows/scripts/docker_image_plan.py` (content fingerprint vs previous versioned image label).
3. **Unchanged image inputs** → registry retag of the previous `v${PREV}_…` digest to `v${VERSION}_…` and `cache_*` (no rebuild).
4. **Changed inputs** (or missing/unlabeled previous image, or `force_rebuild=true`) → `docker compose build` / `push` for those services only, labeling the new digest with `org.airstack.content-fingerprint`.
5. Keyless `cosign sign` of every published image digest via GitHub OIDC.
6. `cosign verify` against the workflow's certificate identity.
- **Skip behavior:** if the merge commit on `main`/`develop` does not actually change `VERSION=`, the build job is skipped (the check-changes job sets `tag-changed=false`).
- **Docs-only VERSION bumps:** still required by `check-version-increment`, but publish should retag rather than rebuild once fingerprints are on the previous images. First publish after this feature lands (or `force_rebuild=true`) must rebuild to write the labels.

### 3. `deploy_docs_from_release.yaml` — versioned docs

- **Trigger:** GitHub `release` event with `types: [published]`.
- **Behavior:** runs `mike deploy --push --update-aliases <release.tag_name> latest`, publishing the docs site under the release tag and pointing the `latest` alias at it.
- Companion workflows publish unversioned docs from `main` (default alias `main`) and `develop` (alias `develop`).

So the full release path is: bump `VERSION` → PR → merge to `main`/`develop` (rebuild + push + sign) → cut a GitHub Release matching that VERSION (versioned docs go live).
So the full release path is: bump `VERSION` → PR → merge to `main`/`develop` (retag unchanged images and/or rebuild changed ones + push + sign) → cut a GitHub Release matching that VERSION (versioned docs go live).

## Choosing the Bump Type

Expand Down
1 change: 1 addition & 0 deletions .agents/skills/run-system-tests/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ The `system-tests.yml` workflow's `Parse pytest args` step automatically prepend
- `/pytest -m takeoff_hover_land` → effectively runs `-m "build_packages or takeoff_hover_land"`
- `/pytest` (no marks) → pytest defaults (everything)
- `/pytest -m build_docker` → unchanged (the build_docker tests rebuild from scratch anyway)
- `/pytest -m build_packages` → **pull-only** (retag `cache_*`, no `image-build`, no Isaac). Add `--no-image-build` on other marks to skip the bake.

This guarantees that ROS 2 workspaces are built inside the containers before any launch/liveliness test tries to source them. If you intentionally want to skip `build_packages` (e.g. you trust the prebuilt images), include it explicitly: `-m "liveliness and not build_packages"` would work, but the simpler path is to run locally where the prepend logic doesn't apply.

Expand Down
Loading
Loading