Skip to content

refactor(webauto-ci): migrate autoware-setup to install_dev_env#7061

Merged
xmfcx merged 2 commits intomainfrom
refactor/webauto-ci-install-dev-env
Apr 25, 2026
Merged

refactor(webauto-ci): migrate autoware-setup to install_dev_env#7061
xmfcx merged 2 commits intomainfrom
refactor/webauto-ci-install-dev-env

Conversation

@xmfcx
Copy link
Copy Markdown
Contributor

@xmfcx xmfcx commented Apr 24, 2026

  • Parent Issue: Simplify ansible entrypoints: rename playbooks and drop setup-dev-env.sh #7052
  • Switches .webauto-ci/main/autoware-setup/run.sh from the soon-to-be-removed ansible/playbooks/universe.yaml to the tag-driven autoware.dev_env.install_dev_env.
  • Preserves the install_devel=false semantics by replacing the old top-level when: install_devel == 'y' gate with --skip-tags dev_tools (the new playbook expresses optional roles via tags, not vars_prompt).
  • Drops --skip-tags vcs — no role or task in the ansible collection ever defined a vcs tag, so the flag was a no-op in the old invocation too.
  • Also drops prompt_install_nvidia=y and prompt_download_artifacts=y extra-vars: the new playbook has no vars_prompt, and both the NVIDIA and artifacts role sets run by default (no --skip-tags for them here).

Why

Step 6 of the Phase 1 migration tracked in #7052. universe.yaml is scheduled for removal on 2026-05-24; this moves the last caller in the autoware repo so the deletion in Phase 2 is uncontested.


Behavioral equivalence

For the exact extra-vars this script passes (install_devel=false, rosdistro=humble, NVIDIA + artifacts enabled, dev_tools skipped), role-by-role tracing confirms the two playbooks install the same 13 roles in the same mode.

Roles installed

Role Old (universe.yaml) New (install_dev_env.yaml + --skip-tags dev_tools) Same?
ros2 installed installed
ros2_dev_tools installed installed
rmw_implementation installed (rosdistro=humble) installed (rosdistro=humble)
gdown installed installed
build_tools installed installed
agnocast installed (gated when: rosdistro == 'humble') installed (no gate; tag-only) ✓ for humble; differs on jazzy
acados installed installed
geographiclib installed installed
cuda installed, runtime-only (install_devel='false' inside role) installed, runtime-only (same var)
tensorrt installed, runtime-only (same gate) installed, runtime-only (same gate)
spconv installed (gated when: prompt_install_nvidia == 'y') installed (no gate; tag-only) ✓ (same input); differs if someone set prompt_install_nvidia=n
dev_tools skipped (gated when: install_devel == 'y') skipped (via --skip-tags dev_tools)
artifacts installed (gated when: prompt_download_artifacts == 'y', data_dir=$HOME/autoware_data) installed (no gate; same data_dir)
qt5ct_setup installed installed

Why each old gate maps to the same result under the new mechanism

Old gate New mechanism Why equivalent for this invocation
when: prompt_install_nvidia == 'y' → CUDA/TensorRT/spconv no gate; always runs unless --skip-tags nvidia old passed prompt_install_nvidia=y anyway, so both install them
when: prompt_download_artifacts == 'y' → artifacts no gate; always runs unless --skip-tags artifacts old passed prompt_download_artifacts=y anyway
when: install_devel == 'y' → dev_tools top-level --skip-tags dev_tools old set install_devel=false, so dev_tools was already skipped
when: rosdistro == 'humble' → agnocast no gate; tag-only old passed rosdistro=humble anyway

Vars still consumed unchanged

Var Who consumes it Effect
rosdistro=humble rmw_implementation, agnocast (indirectly) same
install_devel=false cuda / tensorrt tasks (when: install_devel == 'y') → devel packages skipped same
ros2_installation_type=ros-base ros2 role same
data_dir=$HOME/autoware_data artifacts role same
WORKSPACE_ROOT=$(pwd) not consumed by any role in the chain no effect either way (same story with universe.yaml)

Test plan

xmfcx added 2 commits April 24, 2026 13:40
Phase 2 step for #7052.
Switches the web.auto setup hook to the tag-driven install_dev_env.yaml so
universe.yaml can be removed on 2026-05-24.

- Calls autoware.dev_env.install_dev_env (collection-style) instead of
  the ansible/playbooks/universe.yaml file path.
- Drops prompt_install_nvidia / prompt_download_artifacts extra-vars; the
  new playbook has no vars_prompt, and NVIDIA + artifacts roles run by
  default (no --skip-tags for them).
- Adds dev_tools to --skip-tags to preserve the install_devel=false
  behaviour; universe.yaml gated dev_tools on a top-level when clause
  while install_dev_env.yaml expresses the same via role tags.

data_dir, ros2_installation_type, install_devel, rosdistro, and
WORKSPACE_ROOT are kept as-is since the receiving roles still consume
them unchanged.

Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
No role or task in the ansible collection defines a `vcs` tag (never has,
per git history), so the flag was a no-op in the old universe.yaml call
and stayed a no-op after the install_dev_env migration. Drop it so the
remaining `--skip-tags dev_tools` reflects intent.

Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
@xmfcx xmfcx requested a review from mitsudome-r as a code owner April 24, 2026 10:46
@xmfcx xmfcx self-assigned this Apr 24, 2026
@github-actions
Copy link
Copy Markdown

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@xmfcx
Copy link
Copy Markdown
Contributor Author

xmfcx commented Apr 24, 2026

@xmfcx
Copy link
Copy Markdown
Contributor Author

xmfcx commented Apr 24, 2026

All green 🟢

image

@xmfcx xmfcx enabled auto-merge (squash) April 24, 2026 12:45
@xmfcx xmfcx merged commit ed59e4c into main Apr 25, 2026
38 checks passed
@xmfcx xmfcx deleted the refactor/webauto-ci-install-dev-env branch April 25, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run:health-check Run health-check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants