Skip to content

Move to using ubuntu as base with feature already installed for devcontainer #277

@coretl

Description

@coretl

At the moment we:

  • Use python:3.xx as the base container
  • Make a venv
  • Install into it and use that
  • Apply the bash-config feature on top

This means that vscode is taking up to 30s adding in the feature every time. We were thinking of putting the feature in the base container for epics-containers but publishing this for multiple python bases would be prohibitive for the copier template.

However with uv we now have a different option:

  • Publish an ubuntu LTS derived devcontainer with uv, bash and zsh, and the bash-config feature installed
  • Use it for both python-copier-template and epics-containers
  • Get uv to manage the version of python

This should allow us to have a much better out of the box experience by pulling a single rarely changing base image that will be used for many purposes. The only downside is that every devcontainer.json will need to provide the mount of ${localEnv:HOME}/.config/bash-config to do persistent history, but as we use copier that is easy to arrange for.

As discussed with @gilesknap @callumforrester

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions