forked from PowerShell/DscResources
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update text around new resource module submission (PowerShell#398)
- Adds new issue templates - Issue template for 'New resource module submission' - Issue template for 'General questions' - Issue tempate for 'Problem with resource module'
- Loading branch information
Showing
4 changed files
with
103 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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). |