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

Adds a dev container #4031

Conversation

samruddhikhandale
Copy link

@samruddhikhandale samruddhikhandale commented Feb 7, 2023

Hi 👋

I am Samruddhi, a Software Engineer for GitHub, working with the GitHub Codespaces team, and a maintainer for the dev containers org 👩‍💻

Thank you @helen for doing all the ground work for setting up a dev container (ref: #3670). This PR is greatly inspired from the contents of #3670 with few tweaks.

Thanks,
Samruddhi

Trac ticket: https://core.trac.wordpress.org/ticket/57187

commit 8f27bd9
Author: Samruddhi Khandale <skhandale@microsoft.com>
Date:   Tue Feb 7 22:28:30 2023 +0000

    nit

commit d418f3c
Author: Samruddhi Khandale <skhandale@microsoft.com>
Date:   Tue Feb 7 19:56:22 2023 +0000

    nit

commit 37273cc
Author: Samruddhi Khandale <skhandale@microsoft.com>
Date:   Tue Feb 7 01:03:34 2023 +0000

    draft
@github-actions
Copy link

github-actions bot commented Feb 7, 2023

Hi @samruddhikhandale! 👋

Thank you for your contribution to WordPress! 💖

It looks like this is your first pull request to wordpress-develop. Here are a few things to be aware of that may help you out!

No one monitors this repository for new pull requests. Pull requests must be attached to a Trac ticket to be considered for inclusion in WordPress Core. To attach a pull request to a Trac ticket, please include the ticket's full URL in your pull request description.

Pull requests are never merged on GitHub. The WordPress codebase continues to be managed through the SVN repository that this GitHub repository mirrors. Please feel free to open pull requests to work on any contribution you are making.

More information about how GitHub pull requests can be used to contribute to WordPress can be found in this blog post.

Please include automated tests. Including tests in your pull request is one way to help your patch be considered faster. To learn about WordPress' test suites, visit the Automated Testing page in the handbook.

If you have not had a chance, please review the Contribute with Code page in the WordPress Core Handbook.

The Developer Hub also documents the various coding standards that are followed:

Thank you,
The WordPress Project

Copy link
Member

@helen helen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just leaving some minor nits as suggestions to be commited :)

.devcontainer/devcontainer.json Outdated Show resolved Hide resolved
.devcontainer/install-tools.sh Outdated Show resolved Hide resolved
.devcontainer/welcome-message.txt Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@peterwilsoncc peterwilsoncc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple of suggestions for the getting started section of the readme. Coming to Codespaces as a complete n00b caught me out on the first attempt.

Once a contributor closes their VS Code browser window, how long does the Codespace remain active for? It could be handy to provide advice on how to avoid burning minutes if they are active for an extended period of time.

This is great, it was lovely being able to test the PR via the code dropdown on the PR. Love it!

README.md Show resolved Hide resolved
@samruddhikhandale
Copy link
Author

Once a contributor closes their VS Code browser window, how long does the Codespace remain active for?

By default, codespaces time out after 30 minutes of inactivity. When a codespace times out it is stopped and will no longer incur charges for compute usage.

Doc reference - here

@peterwilsoncc Let me know if this info would be helpful in the doc, happy to add that.

@peterwilsoncc
Copy link
Contributor

@samruddhikhandale Given the default spend limit is set to zero, I think it's fine to leave it out for now. It's easy enough to add something later if it becomes an issue.

@carlomanf
Copy link

Maybe some people who are unfamiliar with codespaces would be interested to know that I have been using a codespace to develop a plugin for the plugin directory, and the youth of the product absolutely shows. I have been hit by two major outages in little over a month, the latest one being ongoing for more than 48 hours and preventing me from releasing a new version to the plugin directory. The outage was reported as resolved, but either you are not testing closely enough, or deliberately misreporting to hide the high duration of downtime. The support ticket I submitted for the previous outage took 7 days to be answered, so I'm expecting 7 full days of downtime and 7 days delay to a plugin release that should already be completed by now. With service like this, there is no chance I will upgrade to the paid tier anytime soon. Not voting down this patch at all, but I wouldn't be encouraging the events team to jump into codespaces with both feet just yet, or it could result in an attendee's whole contributor day being wasted.

I actually think WordPress Playground would be a better long-term solution for this purpose, but it too obviously has a long way to go.

@helen
Copy link
Member

helen commented Feb 10, 2023

Hi @carlomanf - totally understood that you've experienced frustrations. We use Codespaces for our own dev environments at GitHub so any outages you experience we do as well. I cannot speak to this product area as far as work goes and don't think this is the greatest venue to go back and forth about it, in any case.

As said, this is a way to get a sense of how this particular tool and cloud dev environments as a general concept might benefit the core contribution case. devcontainers as an open spec should mean that this can lay the groundwork for generally being usable across different options based on what works best for the contributor, which should always be our goal - to make it easier for folks to contribute given their differing needs and constraints. A Wasm option would also be great! Let's just not let ourselves get stuck in attempting to be perfect from the start, that's already happened to this effort a couple times.

@helen
Copy link
Member

helen commented Feb 10, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants