Skip to content

Do we need a devcontainer.json? #5087

@reneme

Description

@reneme

Botan has very minimal 3rd-party dependencies, making it fairly simple to build from source for new contributors. Therefore, just the (implicit) toolchain requirements don't really justify the introduction of a devcontainer.json (or similar setups).

However, we do have plenty of tool configuration files hidden away in src/editors, src/configs and src/scripts to keep the repository's root directory clutter-free. As a result, any first-time interaction with the code base isn't as frictionless as it could be. At least until one reads contributing.rst carefully.

My suggestion: let's introduce a top-level devcontainer.json that then automagically sets up all the configurations and goodies we have stashed away at the moment. I'm thinking of things like .vscode/, pyproject.toml, .clang-format, .editorconfig and perhaps more that could be lifted into the repo root within the container without maintaining it in the repo root on GitHub.

In the long-term (read: just my wild idea for now) more configurations and development conveniences could be added like that. For instance: something like mise-en-place could improve the accessibility of certain manual development steps that are currently hidden behind scripts and/or documented processes. I'm thinking of things like "running bogo tests", "running TLS anvil", "rolling a release", "running clang-tidy", and such.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions