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

[Feature Request]: Add Support for .devcontainer #21440

Open
Mayank77maruti opened this issue Dec 13, 2024 · 2 comments
Open

[Feature Request]: Add Support for .devcontainer #21440

Mayank77maruti opened this issue Dec 13, 2024 · 2 comments
Labels
enhancement Label to indicate an issue is a feature/improvement Impact: Medium Will improve quality-of-life for at least 30% of users. Work: Low Solution is known and broken into good-first-issue-sized chunks.

Comments

@Mayank77maruti
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

As discussed in #21406 ,
Setting up a development environment for the Oppia project can be prone to inconsistencies across different machines. Developers may encounter issues like missing dependencies or incompatible configurations, leading to delays in onboarding and productivity.

Describe the solution (or solutions) you'd like

a .devcontainer configuration to the Oppia repository to streamline development workflows. This configuration would include:

  1. Pre-installed Dependencies: Tools and libraries required to build and run the Oppia project, such as Python, Node.js, and other dependencies.
  2. Consistent Environment: Ensure all developers have the same versions of tools and libraries regardless of their host machine.
  3. Editor-Ready Setup: Built-in support for Visual Studio Code debugging, extensions, and terminals tailored to the Oppia project.
  4. Cross-Platform Compatibility: Works seamlessly across Windows, macOS, and Linux systems.

Describe alternatives you've considered and rejected

No response

Additional context

Why a .devcontainer?

  1. Quick Onboarding: Developers can start contributing to Oppia instantly without needing to configure their environments manually.
  2. Isolation: Ensures the host system remains clean, and changes to dependencies don't affect local machine setups.
  3. Reproducibility: The same configuration ensures builds work as expected for everyone.

Additional Documentation -> https://code.visualstudio.com/docs/devcontainers/containers

@Mayank77maruti Mayank77maruti added enhancement Label to indicate an issue is a feature/improvement triage needed labels Dec 13, 2024
@Kartikayy007
Copy link

Hi, I understand that setting up the development environment for the Oppia project can sometimes lead to inconsistencies due to missing dependencies or version mismatches across different systems. The idea of adding a .devcontainer configuration is a great solution to ensure a consistent, editor-ready, and cross-platform environment for developers.

Could you please confirm if there are any additional tools or dependencies that should be included? For example:

  • Specific versions of Python or Node.js?
  • Any project-specific tools to prioritize?

Let me know if there are additional considerations or if I’m missing something important. Looking forward to your feedback!

Thanks! 🙂

@Mayank77maruti
Copy link
Collaborator Author

Hi @Kartikayy007,
We will be using the specific versions used by oppia currently.
I will draft an initial .devcontainer configuration with a PR that covers these aspects.
The configuration will be shared for testing and feedback to ensure it works seamlessly across platforms.

@seanlip seanlip added Impact: Medium Will improve quality-of-life for at least 30% of users. Work: Low Solution is known and broken into good-first-issue-sized chunks. and removed triage needed labels Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Label to indicate an issue is a feature/improvement Impact: Medium Will improve quality-of-life for at least 30% of users. Work: Low Solution is known and broken into good-first-issue-sized chunks.
Projects
Status: Todo
Development

No branches or pull requests

3 participants