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

Add Support for Development Containers (DevContainers) #31

Open
SergeyShorokhov opened this issue Dec 18, 2024 · 0 comments
Open

Add Support for Development Containers (DevContainers) #31

SergeyShorokhov opened this issue Dec 18, 2024 · 0 comments
Labels
Difficulty: 🟡 medium Task of medium difficulty requiring moderate effort. OS: 💻 Independent Case do not refer to any OS. Priority: ⚠️ medium Medium priority tasks that should be addressed soon. Status: 🖐 available Task currently opened.

Comments

@SergeyShorokhov
Copy link
Member

Add Support for Development Containers (DevContainers)

Problem Description

Currently, setting up the development environment for projects can be challenging for newcomers and even experienced contributors. Each project may have specific dependencies, compilers, and environment configurations, leading to inconsistencies and additional onboarding time.

Proposed Solution

Introduce support for Development Containers (devcontainers) (https://containers.dev/) to streamline the setup process and ensure a consistent development environment across all platforms (Windows, macOS, Linux).

Key benefits of using devcontainers:

  • Unified development environment for all contributors.
  • Simplified onboarding process for new team members.
  • Elimination of platform-specific setup issues.
  • Easy access to the required dependencies and tools.

Tasks

  1. Add a .devcontainer/ folder with the following files:
    • devcontainer.json: Define the container configuration, extensions, and port forwarding.
    • Dockerfile: Specify the base image and required tools/dependencies.
  2. Configure the development environment to support the following:
    • Compiler for C/C++ (e.g., GCC or Clang).
    • Dependencies specific to the project (e.g., libraries, debugging tools).
    • Tools for building and testing the project.
  3. Ensure integration with CI/CD pipelines for consistency.
  4. Test the devcontainers setup on all major platforms (Windows, macOS, Linux).
  5. Document the usage of devcontainers in the README file.

Acceptance Criteria

  • Developers can clone the repository, open it in VS Code, and start working inside the devcontainer with no additional setup.
  • All dependencies, compilers, and tools are pre-configured in the devcontainer.
  • The environment works seamlessly across Windows, macOS, and Linux.
  • Clear documentation on how to use the devcontainer is available in the project README.

Additional Notes

Consider using a lightweight Docker base image to minimize container build times. The setup should prioritize ease of use and should not introduce unnecessary overhead for developers.

Related Issues

If there are existing issues related to setting up the development environment, they should be linked here for context.

@SergeyShorokhov SergeyShorokhov added Difficulty: 🟡 medium Task of medium difficulty requiring moderate effort. OS: 💻 Independent Case do not refer to any OS. Priority: ⚠️ medium Medium priority tasks that should be addressed soon. Status: 🖐 available Task currently opened. labels Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty: 🟡 medium Task of medium difficulty requiring moderate effort. OS: 💻 Independent Case do not refer to any OS. Priority: ⚠️ medium Medium priority tasks that should be addressed soon. Status: 🖐 available Task currently opened.
Projects
Status: Backlog
Development

No branches or pull requests

1 participant