Skip to content

feat(editor): bake curated ROS/vscode extensions into image (PR-9, Theme H) - #43

Merged
jmservera merged 10 commits into
mainfrom
release-packaging/pr-9-editor-extensions
Jul 27, 2026
Merged

feat(editor): bake curated ROS/vscode extensions into image (PR-9, Theme H)#43
jmservera merged 10 commits into
mainfrom
release-packaging/pr-9-editor-extensions

Conversation

@jmservera

Copy link
Copy Markdown
Owner

Part of the PRD 004 Release, Packaging & Distribution epic (Wave 1, PR-9).

Summary

Bakes a fixed, always-on curated extension set into the code-server editor image so it is present with no configuration.

  • Install via code-server --install-extension (Open VSX) at build time: ROS2, Python, clangd, YAML, CMake.
  • Baked into the image extensions dir; code-server's editor-data named volume is seeded from the image on first mount, so the set is present on a fresh container.
  • Substituted the 404'd ms-iot.vscode-ros with its maintained successor Ranch-Hand-Robotics.rde-ros-2; ms-vscode.cpptools (not on Open VSX) replaced by llvm-vs-code-extensions.vscode-clangd.

Requirements

  • FR-H2 (curated extensions always present, not user-selectable).

Validation

  • Real image build succeeded; code-server --list-extensions (no volume mounted) lists all curated IDs, proving they are baked into the image.

Build-time note: Open VSX must be reachable during docker build of the editor image.
Generated by Copilot (RPI Agent). Draft pending review.

- install fixed always-on set via code-server --install-extension
- ROS2, Python, clangd, YAML, CMake (Open VSX); seeded into editor-data
- swap 404'd ms-iot.vscode-ros for maintained rde-ros-2

🧩 - Generated by Copilot
@jmservera
jmservera marked this pull request as ready for review July 27, 2026 07:23
Copilot AI review requested due to automatic review settings July 27, 2026 07:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Bakes a curated set of ROS/language VS Code extensions into the services/editor code-server image at build time so fresh editor containers have the same baseline tooling without extra setup.

Changes:

  • Installs a fixed list of extensions during docker build via code-server --install-extension.
  • Documents how the baked extensions interact with the editor-data named volume seeding behavior.

Comment thread services/editor/Dockerfile Outdated
Copilot AI review requested due to automatic review settings July 27, 2026 07:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

Comment thread services/editor/Dockerfile Outdated
Comment thread services/editor/Dockerfile Outdated
Copilot AI review requested due to automatic review settings July 27, 2026 07:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

services/editor/Dockerfile:35

  • The comment says the curated set is “ALWAYS-ON” and “NOT user-selectable”, but these extensions are installed into a writable, persisted editor-data volume. That means a user can still disable/uninstall them and the change will persist, so the Dockerfile currently only guarantees “present by default on first run with a fresh volume”. Consider rewording to avoid over-claiming behavior that isn’t enforced.
# This curated set is FIXED and ALWAYS-ON: it is installed at build time and is
# NOT user-selectable. Every UbeROS editor ships with the same ROS + language
# tooling out of the box, with no per-user configuration required.

Comment thread services/editor/Dockerfile
Copilot AI review requested due to automatic review settings July 27, 2026 07:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

services/editor/Dockerfile:35

  • The header comment says this extension set is "FIXED and ALWAYS-ON" and "NOT user-selectable", but the Dockerfile/compose configuration shown here doesn't enforce that (users can typically disable/uninstall extensions via the code-server UI, and the extensions live in a writable named volume). Consider rewording to avoid claiming enforcement that isn't implemented.
# This curated set is FIXED and ALWAYS-ON: it is installed at build time and is
# NOT user-selectable. Every UbeROS editor ships with the same ROS + language
# tooling out of the box, with no per-user configuration required.

Comment thread services/editor/Dockerfile Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 27, 2026 07:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

services/editor/Dockerfile:73

  • The extension versions here don’t match the pinned versions documented in the earlier review thread (which stated these were updated to specific versions). If the intent is a reproducible, fixed curated baseline, align the Dockerfile pins with the versions that were validated in that thread (or update the thread/PR description to reflect the actual pins being shipped).
        --install-extension Ranch-Hand-Robotics.rde-ros-2@1.0.9 \
        --install-extension ms-python.python@2026.4.0 \
        --install-extension llvm-vs-code-extensions.vscode-clangd@0.6.0 \
        --install-extension redhat.vscode-yaml@1.24.2026063009 \
        --install-extension ms-vscode.cmake-tools@1.23.52

Copilot AI review requested due to automatic review settings July 27, 2026 07:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread services/editor/Dockerfile
Copilot AI review requested due to automatic review settings July 27, 2026 08:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

services/editor/Dockerfile:61

  • The PR description says the editor-data volume is seeded from the image on first mount to provide the curated extensions, but in this implementation extensions are baked into /opt/uberos/curated-extensions and then reconciled into the volume at container start via the new entrypoint script. Please update the PR description/validation notes to match the actual seeding mechanism (runtime reconciliation), so operators aren’t misled when troubleshooting.
# Coexistence with the `editor-data` volume (FR-D1): keep a curated extension
# cache OUTSIDE the mounted user-data path and reconcile it at startup into
# ~/.local/share/code-server/extensions when any curated extension is missing.
# This makes the curated baseline appear on fresh volumes and on upgrades with
# pre-existing `editor-data`, while preserving user-installed extensions.

Comment thread services/editor/entrypoint.sh Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 27, 2026 08:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

services/editor/Dockerfile:78

  • The pinned extension versions here don’t match the versions called out in the prior review thread reply (rde-ros-2@1.2.1, ms-python.python@2026.6.0, etc.). If the intent is “pin to current stable,” please reconcile the pins so reviewers/users aren’t left with conflicting version expectations.
        --install-extension Ranch-Hand-Robotics.rde-ros-2@1.0.9 \
        --install-extension ms-python.python@2026.4.0 \
        --install-extension llvm-vs-code-extensions.vscode-clangd@0.6.0 \
        --install-extension redhat.vscode-yaml@1.24.2026063009 \
        --install-extension ms-vscode.cmake-tools@1.23.52

@jmservera
jmservera merged commit 9266650 into main Jul 27, 2026
5 checks passed
@jmservera
jmservera deleted the release-packaging/pr-9-editor-extensions branch July 27, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants