Skip to content
This repository has been archived by the owner on Feb 24, 2021. It is now read-only.

Update text around new resource module submission #398

Merged
merged 2 commits into from Jul 6, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/General.md
@@ -0,0 +1,4 @@
---
name: General question or documentation update
about: If you have a general question around the DSC Resource Kit or documentation update for the DSC Resource Kit.
---
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/New_resource_module_submission.md
@@ -0,0 +1,64 @@
---
name: New resource module submission
about: You may list you resource module in Dsc Resource Kit when your resource module pass the [Quality Governance](https://github.com/PowerShell/DscResources/blob/master/Naming.md#quality-governance).
---

<!--
Please replace all [] with your information and fill in the task list.
-->

### New resource module submission

**Name:** [name of resource module]

**Repository URL:** [GitHub URL]

**Short description:** [Short description of your resource module]

### New resource module submission task list

*This task list can be filled in after the issue has been submitted.*

* [ ] Pass the [Quality Governance](https://github.com/PowerShell/DscResources/blob/master/Naming.md#quality-governance)
* [ ] Pull request is sent in (see next section).
* [ ] The new module submission in ready for community review.

#### Steps that pull request should include

* [ ] Added submodule using `git submodule add https://github.com/<accountname>/<reponame> DscResources/<reponame>`.
* [ ] Updated resource module list in Maintainers.md.

### Community acceptance

<!--
This should be filled in by the community. Preferably this should be
added as a comment to a new module submission in the future.
-->
**Community reviewers: Please submit a comment on the issue for each box that are checked so the
community know who accepted the item.**

The new resource module:

* [ ] is licensed under MIT.
* [ ] has the correct project structure.
* [ ] has a dev and master branch, and dev should default branch.
* [ ] is using DSC Resource Kit test templates.
* [ ] is connected to Codecov or similar.
* [ ] has established a code of conduct in ether a CODE_OF_CONDUCT.md or a
'Code of conduct' section in the README.md.
* [ ] has either a CONTRIBUTING.md file or a 'Contributing' section in the
README.md file.
* [ ] has included the metadata tag 'DSCResource' in the module manifest.
* [ ] is sufficiently [documented](https://github.com/PowerShell/DscResources/blob/master/CONTRIBUTING.md#writing-documentation).
* [ ] has an established [CI process](https://github.com/PowerShell/DscResources/blob/master/CONTRIBUTING.md#tests-in-appveyor) for each push to the repository.
* [ ] is sufficiently [tested](https://github.com/PowerShell/DscResources/blob/master/CONTRIBUTING.md#write-tests).
* [ ] Follows the guidelines set out for a
[High Quality Resource Module](https://github.com/PowerShell/DscResources/blob/master/Naming.md#high-quality-resource-module).

### Submission acceptance

The community accepts, at a community call, that a resource module follows the
guidelines set out for a
[High Quality Resource Module](https://github.com/PowerShell/DscResources/blob/master/Naming.md#high-quality-resource-module).

* [ ] The resource module was accepted for submission in a community call.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/Problem_with_resource_module.md
@@ -0,0 +1,5 @@
---
name: Problem with a resource module
about: If you have a problem with a resource module please submit that issue in the [resource module's repository](https://github.com/PowerShell/DscResources/blob/master/Maintainers.md#current-maintainers).
---
* If you have a problem with a resource module please submit that issue in the [resource module's repository](https://github.com/PowerShell/DscResources/blob/master/Maintainers.md#current-maintainers).
80 changes: 30 additions & 50 deletions NewResourceModuleSubmissions.md
@@ -1,50 +1,30 @@
# How to Submit a New Resource Module

If you are just starting your resource module, **create an extra empty branch first**.
The extra empty branch will make it much easier to [set up the review pull request](#how-to-set-up-the-review-pull-request).
Also, please ensure that your resource module repository is named "\<ResourceModuleName\>Dsc" (e.g. SharePointDsc, WebAdministrationDsc, etc.).

When you are ready for your module to be reviewed, follow these steps:

1. Ensure your new resource module is in its own public repository.
1. Ensure your new repository is under the MIT license.
1. Ensure your new resource module follows the [High Quality DSC Resource Module Guidelines](https://github.com/PowerShell/DscResources/blob/master/HighQualityModuleGuidelines.md).
1. Set up a review pull request by following [these instructions](#how-to-set-up-the-review-pull-request).
This will allow the reviewers to make comments and see the changes you make based on those comments.
1. Submit an issue in the [main DSC Resource Kit repository](https://github.com/PowerShell/DscResources) with a link to your repository.
1. Once **at least three** members of the [Dsc Resource Kit Design Review Team](#dsc-resource-kit-design-review-team) have reviewed and approved the new resource module, close the pull request, making sure all changes from the review are in your working branch.
1. Transfer ownership of the new resource module to the PowerShell organization by first transferring ownership of the repository to **@kwirkykat**. The GitHub instructions for transferring a repository can be found [here](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/).

## DSC Resource Kit Design Review Team
- Katie Keim (@kwirkykat)
- Travis Plunk (@TravisEz13)
- Karol Kaczmarek (@KarolKaczmarek)
- Mariah Breakey(@mbreakey3)
- Hemant Mahawar (@HemantMahawar)
- Mark Gray (@grayzu)

## How to Set Up the Review Pull Request
If you already created an empty branch at the beginning of writing your resource module, simply create a pull request from your working branch to your previously created empty branch.

If you did not create an empty branch at the beginning of writing your resource module, but the very first commit you made to your repository was an empty commit, you can create an empty branch based off of that empty commit like so:
```powershell
$firstCommit = $gitCommits = git rev-list --all # Retrieves all the git commit SHA keys for the current history
git branch myEmptyBranch $gitCommits[$gitCommits.Count - 1] # Creates a new branch called myEmptyBranch at the first commit
git push origin myEmptyBranch # Pushes the new empty branch up to GitHub
```
Then create a pull request from your working branch to your newly created empty branch.

If you did not create an empty branch at the beginning of writing your resource module, and the very first commit you made to your repository was not empty, you will need to create 2 new branches:
```powershell
git checkout --orphan reviewTarget # Creates a new parentless branch named reviewTarget
git rm -r --cached * # Removes the current files from the commit pipeline
git clean -fxd # Removes **all** files (committed or not) from this branch
git commit --allow-empty -m 'Start of review' # Provides an empty commit as the base of this branch
git branch reviewBase # Creates a new branch named reviewBase with the same empty commit as the reviewTarget branch
git merge <name of your working branch> # Merges the code from your working branch into the reviewTarget branch
git push origin reviewTarget # Pushes the reviewTarget branch with all of your merged code to GitHub
git push origin reviewBase # Pushes the empty reviewBase branch to GitHub
```
Then create a pull request with reviewBase as the base branch and reviewTarget as the target branch.

(Thank you @astrofrog for writing [this amazing blog post](http://astrofrog.github.io/blog/2013/04/10/how-to-conduct-a-full-code-review-on-github/) about conducting full reviews in GitHub!)
# How to perform a resource module submission

An owner of a resource module may make a new resource module submission by adding
the repository as a submodule to the list of resource modules under
[DscResources](https://github.com/PowerShell/DscResources/tree/master/DscResources).

Prior to listing in DSC Resource repository under [DscResources](https://github.com/PowerShell/DscResources/tree/master/DscResources)

- The repository must pass the
[Quality Governance](https://github.com/PowerShell/DscResources/blob/master/Naming.md#quality-governance).
- The community accepts, at a community call, that a resource module follows the
guidelines set out for a
[High Quality Resource Module](https://github.com/PowerShell/DscResources/blob/master/Naming.md#high-quality-resource-module).

## First step

When you think your resource module is ready for listing in DSC Resource Kit,
then the first step is to create a new issue using the *New resource module submission* issue
template. It should include all the information needed to make a successful
resource module submission (including the above information).

>***Note:** You can look at the template to get the information without submitting
an issue.*

## Support for the new resource module submission

The maintainer (owner) of the resource module, and the community, will contribute
and support the resource module (in the owners repository) on a voluntary
basis. If not otherwise mentioned in the resource module's documentation
[it should be considered unsupported](https://github.com/PowerShell/DscResources/blob/master/Supportability.md#who-provides-support-for-the-technologies-managed-by-dsc).