Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Creation of a Devcontainer for ROS2 Humble Andino Development #261

Open
Romu10 opened this issue Jul 19, 2024 · 1 comment
Open
Assignees
Labels
enhancement New feature or request

Comments

@Romu10
Copy link

Romu10 commented Jul 19, 2024

Proposal: Creation of a Devcontainer for ROS2 Humble Andino Gazebo Development

Description

As a part of our ongoing efforts to improve the developer experience and streamline the setup process, I propose the creation of a Devcontainer for the ROS2 Humble Andino Gazebo development environment. A Devcontainer would allow for a consistent development setup across different environments, reducing setup time and potential configuration issues.

Benefits

  1. Consistency: Ensures that all developers work in an identical environment.
  2. Ease of Setup: Simplifies the initial setup process, making it easier for new contributors to start working on the project.
  3. Portability: Developers can switch between different machines without worrying about reconfiguring the development environment.
  4. Integrated Tools: Ability to pre-configure tools and extensions specific to the project.

Proposed Setup:

  • Base Image: Use the official ROS2 Humble base image as the starting point.

  • Development Tools: Include commonly used development tools and dependencies such as:
    colcon
    rosdep
    gazebo
    vscode extensions for ROS

Configuration:

  • Include .devcontainer/devcontainer.json with the necessary configuration.
  • Provide scripts for setting up the environment and initializing dependencies.

Example of 'devcontainer.json':

{
    "name": "ROS2 Humble Andino Gazebo Development",
    "image": "ros:humble",
    "extensions": [
        "ms-iot.vscode-ros",
        "ms-vscode.cpptools",
        "ms-python.python"
    ],
    "settings": {
        "terminal.integrated.shell.linux": "/bin/bash"
    },
    "postCreateCommand": "rosdep update && rosdep install --from-paths src --ignore-src -r -y && colcon build",
    "runArgs": [
        "--net=host"
    ],
    "workspaceMount": "source=${localWorkspaceFolder},target=/ws,type=bind,consistency=cached",
    "workspaceFolder": "/ws"
}

Tasks:

  1. Create a .devcontainer folder in the root of the repository.
  2. Add the devcontainer.json file with the proposed configuration.
  3. Update the README.md to include instructions on using the Devcontainer.

I look forward to your feedback and suggestions.
Thank you

@Romu10 Romu10 added the enhancement New feature or request label Jul 19, 2024
@github-project-automation github-project-automation bot moved this to 🆕 Backlog in Andino Roadmap Jul 19, 2024
@francocipollone
Copy link
Collaborator

Great proposal and thanks for the contribution!

@francocipollone francocipollone changed the title Proposal: Creation of a Devcontainer for ROS2 Humble Andino Gazebo Development Proposal: Creation of a Devcontainer for ROS2 Humble Andino Development Jul 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 🆕 Backlog
Development

No branches or pull requests

2 participants