Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

[Announcement] Revised process for dev container community contributions #1589

Open
samruddhikhandale opened this issue Aug 19, 2022 · 8 comments
Labels

Comments

@samruddhikhandale
Copy link
Member

samruddhikhandale commented Aug 19, 2022

UPDATE: See below for additional information on publishing your own definitions / templates and read on for information on contributing features and where images are now being built!


Latest context

Hi dev container community! We appreciate your continued patience as we work to make dev containers a great experience and open specification, and we're excited to share with you the latest plan for community contributions (which we've been crafting since #1291).

New repos

As mentioned, we recently announced the dev container specification. As part of this, we now have a devcontainers GitHub org, and we place repos related to the spec in this org.

We recently open sourced two new devcontainers repos:

As shown in the repos, we are hosting a specific set of features and images that were previously in this repository. Please log issues in this new location.

Also note that we will soon also have a repo for a subset of dev container definitions (a.k.a. templates) in the containers folder of this repository. We expect the distribution model for templates to be similar to Features - but this is not quite ready.

How can I contribute or create new content?

While you could always publish your own dev container image, you can now publish Features as well! This means you can make updates and fixes at any cadence you like! To get started, use this 'features' template repo to create a set of features. It includes a GitHub Actions workflow to automate the publishing process. If you want more details, you can read more about the features portion of spec at containers.dev.

If you've contributed a definition/template in the past, consider whether a Dev Container Feature may be better. Features allow your contribution to be added to any supported base image, rather than just the one in the template.

If you still want to contribute a definition/template in addition or instead, stay tuned for information on how you can self-publish these as well!

If you'd like your contributions to appear in VS Code or GitHub Codespaces UI for dev container creation, you may do the following soon (this is still a work in progress):

- name: Reference Implementation Features
  maintainer: Dev Container Spec Maintainers
  contact: https://github.com/devcontainers/features/issues
  repository: https://github.com/devcontainers/features
  ociReference: ghcr.io/devcontainers/features

The ociReference attribute is an auto-generated "metadata" artifact generated by the devcontainers GitHub action. It contains a JSON file with information about all features published under that namespace (by default <owner>/<repo>).

What happens to this vscode-dev-containers repo?

We will ultimately be archiving this repository and focusing new work on the repos in the devcontainers org. We will not delete or hide this repo. However, we won't archive the repository until we've migrated the dev container definitions / templates as well. We expect the general model for distributing templates to be the same as Features - so stay tuned for more information on that!

Feedback

Please feel free to reach out via comments in this issue or through issues in our various devcontainer org repos with any questions or feedback on this process or experience - we'd love to hear how it goes for you. We look forward to your feedback and great dev container contributions!

@samruddhikhandale
Copy link
Member Author

By August 31st, you will see the following changes:

  • Features: We’ve migrated a set of Features to the new repo devcontainers/features, and any current references to these Features will automatically map to the new repo. Features that are not part of the new repo will continue to be referenced from vscode-dev-containers.
  • Images: We will now be publishing images from devcontainers/images (with path mcr.microsoft.com/devcontainers/*). For backwards compatibility, we will be retagging the current images so that your existing dev container configurations continue to work.

@samruddhikhandale
Copy link
Member Author

Hi @andreiborisov 👋 , would you like to self-publish the homebrew and fish Features? We’d love to ensure the community can continue effectively using your great Features, and we're happy to discuss any feedback you may have on the new process.

vadi2 added a commit to Mudlet/Mudlet that referenced this issue Sep 6, 2022
<!-- Keep the title short & concise so anyone non-technical can understand it,
     the title appears in PTB changelogs -->
#### Brief overview of PR changes/additions
Update Github Codespaces image details
#### Motivation for adding to Mudlet
Keeping things up to date
#### Other info (issues closed, discussion etc)
Didn't dive too deep into it, explanation here - microsoft/vscode-dev-containers#1589
@andreiborisov
Copy link
Contributor

Hi! I've published fish feature independently according to the new spec proposal:
https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/fish

Please, let me know if there are any issues.

@andreiborisov
Copy link
Contributor

Is there a way to make it visible in the VS Code UI?

@bamurtaugh
Copy link
Member

Thanks so much @andreiborisov, this is really exciting!

For your contributions to appear in the VS Code Dev Containers or GitHub Codespaces UI, you can do the following steps:

Once merged, this is the list we'll pull from, and your change will appear at containers.dev/collections.

Let me know if you have any questions!

@joshspicer
Copy link
Member

joshspicer commented Oct 11, 2022

Is there a way to make it visible in the VS Code UI?

We're rolling out changes to the Codespaces and Dev Containers extensions to support fetching from the index that Brigit mentioned above.

We shipped the change this morning in the Codespaces extension (v1.11.0), and VS Code will ship it shortly in the Dev Containers extension.

More specifically, the first change that will land is updating the Configure Dev Container Features command to fetch from the index and display the Features listed here: https://containers.dev/features

Later this month we aim to also update the Add Development Container... command to fetch templates in a similar way 🚀

@bamurtaugh
Copy link
Member

October release update

Hi everyone! We wanted to provide an update on dev container Templates and self-publishing.

As you may already be aware, Templates are source files for configuring a Dev Container. They were referred to as "definitions" in this repo.

As part of the Dev Container specification, we've now published a specification for Templates and their distribution, along with a repo for Templates we host as part of the spec.

If you'd like your contributions to appear as part of the specification and in the VS Code or GitHub Codespaces UI for Dev Container creation, you can do the following:

In addition, now when you edit a devcontainer.json in GitHub.com, you'll get a new inline devcontainer.json editor, which includes a Marketplace populated by this dynamic index:

image

We look forward to seeing your contributions and hearing your feedback!

@Chuxel Chuxel changed the title [Announcement] August 2022 update: Dev container community contributions [Announcement] Revised process for dev container community contributions Nov 2, 2022
@Chuxel
Copy link
Member

Chuxel commented Nov 4, 2022

There's now a starter repository project for creating Templates as well: https://github.com/devcontainers/template-starter

This is in addition to the Features quick start repository here: https://github.com/devcontainers/feature-template

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants