Skip to content

Latest commit

 

History

History
106 lines (78 loc) · 4.08 KB

File metadata and controls

106 lines (78 loc) · 4.08 KB

Thanks for taking the time to contribute! ❤️

All types of contributions are encouraged and valued, no matter if it's a bug report 🐛, a feature request 💡, or a Pull Request 🚀.

If you like the project, but just don't have time to contribute, that's OK too! You can also star the project ⭐, rave about it online 💬, or add a link to us 🔗 in your project's readme.

⚠️ You must never report security 🔒 related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead, please report them to the Microsoft Security Response Center. You can read more about our security policy in SECURITY.md.

Contributing code

👨‍💼 This repository is a collection of dev container Features managed by dev container spec maintainers. This repository will only accept improvements and bug fixes for the current set of maintained Features.

🚀 If you're looking to create a new Feature, then we encourage adding it to a separate repository of your control. The devcontainers/feature-starter repository has more guidance on self authoring Features.

💡 Once you've self authored the Features and if you'd like to share them with the community, then we'd recommend adding it to the index.

👷‍ If you've identified an issue and you want to fix it, here's how you can get started:

  1. 🔀 Fork the repo
  2. 💻 Open the repo in your editor
  3. 👨‍💻 Add your changes to your workspace
  4. Test your changes using devcontainer features test to make sure everything still works
  5. 🆚 Bump the version of the feature you changed according to semver
  6. 🔖 Commit & push your changes
  7. 🔁 Open a PR to get your changes merged
  8. 🚀 Profit!

👩‍⚖️ When contributing code to this project, you may be asked to agree to our Contributor License Agreement.

Testing

The devcontainer CLI is used to run the tests in this repository. Install it with:

npm install -g @devcontainers/cli

Run all tests

To run the tests for every Feature in this repository, run the following commands from the root of the repository:

# Run auto-generated and scenario tests for every Feature
devcontainer features test .

# Run the global test scenarios
devcontainer features test --global-scenarios-only .

Test a specific Feature

To test a specific Feature (e.g. go):

devcontainer features test -f go .

Test against a specific base image

By default tests run against mcr.microsoft.com/devcontainers/base:ubuntu. Use the --base-image (or -i) flag to specify a different image:

devcontainer features test -f go -i ubuntu:focal .

Run only scenario tests

Use --skip-autogenerated to run only the scenario tests defined in test/<feature>/scenarios.json:

devcontainer features test -f go --skip-autogenerated .