Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 35 additions & 30 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Please read the rest of this document to ensure a smooth contribution process.

* Make sure you have a [GitHub account](https://github.com/signup/free).
* Learning Git:
* GitHub Help: [Good Resources for Learning Git and GitHub][good-git-resources]
* [Git Basics](../docs/git/basics.md): install and getting started
* GitHub Help: [Good Resources for Learning Git and GitHub][good-git-resources]
* [Git Basics](../docs/git/basics.md): install and getting started
* [GitHub Flow Guide](https://guides.github.com/introduction/flow/):
step-by-step instructions of GitHub Flow

Expand Down Expand Up @@ -52,17 +52,17 @@ if you don't have it -
`Install-Module PlatyPS`.
1. Clone the
[`MicrosoftDocs/PowerShell-Docs`](https://github.com/MicrosoftDocs/PowerShell-Docs)
repo if you don't already have it.
repository if you don't already have it.
1. Start your local build of PowerShell
(with the change to the cmdlet you made).
1. Find the cmdlet's markdown file in PowerShell Docs - usually under
1. Find the cmdlet's Markdown file in PowerShell Docs - usually under
`PowerShell-Docs/reference/<latest powershell version>/<module cmdlet is a part of>/<your changed cmdlet>.md`
(Ex. `PowerShell-Docs/reference/7/Microsoft.PowerShell.Utility/Select-String.md`)
1. Run
`Update-MarkdownHelp -Path <path to cmdlet markdown file>`
`Update-MarkdownHelp -Path <path to cmdlet Markdown file>`
which will update the documentation for you.
1. Make any additional changes needed for the cmdlet to be properly documented.
1. Send a Pull Request to the PowerShell Docs repo with the changes that
1. Send a Pull Request to the PowerShell Docs repository with the changes that
`PlatyPS`
made.
1. Link your Docs PR to your original change PR.
Expand All @@ -71,35 +71,34 @@ made.

* When writing Markdown documentation, use [semantic linefeeds][].
In most cases, it means "one clause/idea per line".
* Otherwise, these issues should be treated like any other issue in this repo.
* Otherwise, these issues should be treated like any other issue in this repository.

#### Spellchecking documentation

Documentation is spellchecked. We use the
[markdown-spellcheck](https://github.com/lukeapage/node-markdown-spellcheck) command line tool,
which can be run in interactive mode to correct typos or add words to the ignore list
(`.spelling` at the repository root).
[textlint](https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule) command-line tool,
which can be run in interactive mode to correct typos.

To run the spellchecker, follow these steps:

* install [Node.js](https://nodejs.org/en/) (v10 or up)
* install [markdown-spellcheck](https://github.com/lukeapage/node-markdown-spellcheck) by
`npm install -g markdown-spellcheck` (v0.11.0 or up)
* run `mdspell "**/*.md" "!**/dotnet-tools/**/*.md" --ignore-numbers --ignore-acronyms --en-us`.
- The folder `dotnet-tools` is excluded because files in that folder are copied from the `dotnet/performance` repository
and will need to be synchronized from time to time.
* if the `.spelling` file is updated, commit and push it
* install [textlint](https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule) by
`npm install -g textlint textlint-rule-terminology`
* run `textlint --rule terminology <changedFileName>`,
adding `--fix` will accept all the recommendations.

If you need to add a term or disable checking part of a file see the [configuration sections of the rule](https://github.com/sapegin/textlint-rule-terminology).

#### Checking links in documentation

Documentation is link-checked. We make use of the
markdown-link-check command line tool,
`markdown-link-check` command-line tool,
which can be run to see if any links are dead.

To run the link-checker, follow these steps:

* install [Node.js](https://nodejs.org/en/) (v10 or up)
* install markdown-link-check by
* install `markdown-link-check` by
`npm install -g markdown-link-check@3.8.5`
* run `find . \*.md -exec markdown-link-check {} \;`

Expand Down Expand Up @@ -177,14 +176,14 @@ Additional references:
See [this][closing-via-message] for more details.

* Please use the present tense and imperative mood when describing your changes:
* Instead of "Adding support for Windows Server 2012 R2", write "Add support for Windows Server 2012 R2".
* Instead of "Fixed for server connection issue", write "Fix server connection issue".
* Instead of "Adding support for Windows Server 2012 R2", write "Add support for Windows Server 2012 R2".
* Instead of "Fixed for server connection issue", write "Fix server connection issue".

This form is akin to giving commands to the code base
This form is akin to giving commands to the codebase
and is recommended by the Git SCM developers.
It is also used in the [Git commit messages](#common-engineering-practices).
* If the change is related to a specific resource, please prefix the description with the resource name:
* Instead of "New parameter 'ConnectionCredential' in New-SqlConnection",
* Instead of "New parameter 'ConnectionCredential' in New-SqlConnection",
write "New-SqlConnection: add parameter 'ConnectionCredential'".
* If your change warrants an update to user-facing documentation,
a Maintainer will add the `Documentation Needed` label to your PR and add an issue to the [PowerShell-Docs repository][PowerShell-Docs],
Expand All @@ -195,15 +194,15 @@ Additional references:
(See [Contributing to documentation related to PowerShell](#contributing-to-documentation-related-to-powershell) for more info.)
* If your change adds a new source file, ensure the appropriate copyright and license headers is on top.
It is standard practice to have both a copyright and license notice for each source file.
* For `.h`, `.cpp`, and `.cs` files use the copyright header with empty line after it:
* For `.h`, `.cpp`, and `.cs` files use the copyright header with empty line after it:

```c#
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
<Add empty line here>
```

* For `.ps1` and `.psm1` files use the copyright header with empty line after it:
* For `.ps1` and `.psm1` files use the copyright header with empty line after it:

```powershell
# Copyright (c) Microsoft Corporation.
Expand Down Expand Up @@ -235,8 +234,8 @@ Additional references:
* After submitting your pull request,
our [CI system (Azure DevOps Pipelines)][ci-system]
will run a suite of tests and automatically update the status of the pull request.
* Our CI contains automated spellchecking and link checking for markdown files. If there is any false-positive,
[run the spellchecker command line tool in interactive mode](#spellchecking-documentation)
* Our CI contains automated spellchecking and link checking for Markdown files. If there is any false-positive,
[run the spellchecker command-line tool in interactive mode](#spellchecking-documentation)
to add words to the `.spelling` file.
* Our packaging test may not pass and ask you to update `files.wxs` file if you add/remove/update nuget package references or add/remove assert files.

Expand Down Expand Up @@ -280,7 +279,7 @@ Additional references:
- `Approve` if you believe your feedback has been addressed or the code is fine as-is, it is customary (although not required) to leave a simple "Looks good to me" (or "LGTM") as the comment for approval.
- `Comment` if you are making suggestions that the *author* does not have to accept.
Early in the review, it is acceptable to provide feedback on coding formatting based on the published [Coding Guidelines][coding-guidelines], however,
after the PR has been approved, it is generally _not_ recommended to focus on formatting issues unless they go against the [Coding Guidelines][coding-guidelines].
after the PR has been approved, it is generally *not* recommended to focus on formatting issues unless they go against the [Coding Guidelines][coding-guidelines].
Non-critical late feedback (after PR has been approved) can be submitted as a new issue or new pull request from the *reviewer*.
1. *Assignees* who are always *Maintainers* ensure that proper review has occurred and if they believe one approval is not sufficient, the *maintainer* is responsible to add more reviewers.
An *assignee* may also be a reviewer, but the roles are distinct.
Expand All @@ -299,7 +298,7 @@ In these cases:
- If the *reviewer*'s comments are very minor, merge the change, fix the code immediately, and create a new PR with the fixes addressing the minor comments.
- If the changes required to merge the pull request are significant but needed, *assignee* creates a new branch with the changes and open an issue to merge the code into the dev branch.
Mention the original pull request ID in the description of the new issue and close the abandoned pull request.
- If the changes in an abandoned pull request are no longer needed (e.g. due to refactoring of the code base or a design change), *assignee* will simply close the pull request.
- If the changes in an abandoned pull request are no longer needed (e.g. due to refactoring of the codebase or a design change), *assignee* will simply close the pull request.

## Making Breaking Changes

Expand Down Expand Up @@ -381,11 +380,17 @@ When your pull request is created, it is checked by the CLA bot.
If you have signed the CLA, the status check will be set to `passing`. Otherwise, it will stay at `pending`.
Once you sign a CLA, all your existing and future pull requests will have the status check automatically set at `passing`.

[testing-guidelines]: ../docs/testing-guidelines/testing-guidelines.md
## Code of Conduct Enforcement

Reports of abuse will be reviewed by the PS-Committee and if it has been determined that violations of the
Code of Conduct has occurred, then a temporary ban may be imposed.
The duration of the temporary ban will depend on the impact and/or severity of the infraction.
This can vary from 1 day, a few days, a week, and up to 30 days.
Repeat offenses may result in a permanent ban from the PowerShell org.

[running-tests-outside-of-ci]: ../docs/testing-guidelines/testing-guidelines.md#running-tests-outside-of-ci
[issue-management]: ../docs/maintainers/issue-management.md
[vuln-reporting]: ./SECURITY.md
[governance]: ../docs/community/governance.md
[using-prs]: https://help.github.com/articles/using-pull-requests/
[fork-a-repo]: https://help.github.com/articles/fork-a-repo/
[closing-via-message]: https://help.github.com/articles/closing-issues-via-commit-messages/
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/markdownLink.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,23 @@ jobs:
use-verbose-mode: 'yes'
check-modified-files-only: 'yes'
config-file: .github/workflows/markdown-link/config.json
markdown-lint:
permissions:
contents: read
packages: read
statuses: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
# Full git history is needed to get a proper
# list of changed files within `super-linter`
fetch-depth: 0
- name: Lint Markdown
uses: super-linter/super-linter@v5
env:
VALIDATE_ALL_CODEBASE: false
DEFAULT_BRANCH: master
FILTER_REGEX_INCLUDE: .*\.md
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_EDITORCONFIG: false
5 changes: 0 additions & 5 deletions .vsts-ci/misc-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,3 @@ stages:
- checkout: ComplianceRepo

- template: ci-compliance.yml@ComplianceRepo
- stage: markdown_spelling_lint
displayName: Markdown Spelling and Lint
dependsOn: []
jobs:
- template: ./misc-analysis/mdSpell.yml
57 changes: 0 additions & 57 deletions .vsts-ci/misc-analysis/markdown.yml

This file was deleted.

56 changes: 0 additions & 56 deletions .vsts-ci/misc-analysis/mdSpell.yml

This file was deleted.

22 changes: 11 additions & 11 deletions CHANGELOG/7.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@

### Engine Updates and Fixes

- Fix `SuspiciousContentChecker.Match` to detect a pre-defined string when the text starts with it (#18916)
- Fix `SuspiciousContentChecker.Match` to detect a predefined string when the text starts with it (#18916)
- Fix for JEA session leaking functions (Internal 23820)

### General Cmdlet Updates and Fixes
Expand Down Expand Up @@ -343,7 +343,7 @@
### General Cmdlet Updates and Fixes

- Fix for deserializing imported ordered dictionary (#15545) (Thanks @davidBar-On!)
- Make generated implicit remoting modules backwards compatible with PowerShell 5.1 (#17227) (Thanks @Tadas!)
- Make generated implicit remoting modules backward compatible with PowerShell 5.1 (#17227) (Thanks @Tadas!)
- Re-enable IDE0031: Use Null propagation (#17811) (Thanks @fflaten!)
- Allow commands to still be executed even if the current working directory no longer exists (#17579)
- Stop referencing `Microsoft.PowerShell.Security` when the core snapin is used (#17771)
Expand Down Expand Up @@ -508,7 +508,7 @@
### Documentation and Help Content

- Remove `katacoda.com` from doc as it now returns 404 (#17625)
- Update change log for `v7.2.5` and `v7.3.0-preview.5` (#17565)
- Update changelog for `v7.2.5` and `v7.3.0-preview.5` (#17565)
- Update `README.md` and `metadata.json` for upcoming releases (#17526)

[7.3.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.3.0-preview.5...v7.3.0-preview.6
Expand All @@ -520,7 +520,7 @@
- Improve type inference and completions (#16963) (Thanks @MartinGC94!)
- Make `Out-String` and `Out-File` keep string input unchanged (#17455)
- Make `AnsiRegex` able to capture Hyperlink ANSI sequences (#17442)
- Add the `-ConfigurationFile` command line parameter to `pwsh` to support local session configuration (#17447)
- Add the `-ConfigurationFile` command-line parameter to `pwsh` to support local session configuration (#17447)
- Fix native library loading for `osx-arm64` (#17365) (Thanks @awakecoding!)
- Fix formatting to act appropriately when the style of table header or list label is empty string (#17463)

Expand Down Expand Up @@ -561,7 +561,7 @@
- Add reminder workflows (#17387)
- Move to configuring the fabric bot via JSON (#17411)
- Update Documentation Issue Template URL (#17410) (Thanks @michaeltlombardi!)
- Update script to automatically take new preview pre-release builds (#17375)
- Update script to automatically take new preview prerelease builds (#17375)

### Tests

Expand Down Expand Up @@ -596,7 +596,7 @@
- Update the cgmanifest (#17478) (Thanks @github-actions[bot]!)
- Correct spelling in Comments and tests (#17480) (Thanks @Yulv-git!)
- Fix spelling errors introduced in changelog (#17414)
- Update change log for v7.3.0-preview.4 release (#17412)
- Update changelog for v7.3.0-preview.4 release (#17412)
- Update readme and metadata for 7.3.0-preview.4 release (#17378)

[7.3.0-preview.5]: https://github.com/PowerShell/PowerShell/compare/v7.3.0-preview.4...v7.3.0-preview.5
Expand Down Expand Up @@ -798,7 +798,7 @@
### General Cmdlet Updates and Fixes

- Prevent command completion if the word to complete is a single dash (#16781) (Thanks @ayousuf23!)
- Use `FindFirstFileW` instead of `FindFirstFileExW` to correctly handle Unicode file names on FAT32 (#16840) (Thanks @iSazonov!)
- Use `FindFirstFileW` instead of `FindFirstFileExW` to correctly handle Unicode filenames on FAT32 (#16840) (Thanks @iSazonov!)
- Add completion for loop labels after Break/Continue (#16438) (Thanks @MartinGC94!)
- Support OpenSSH options for `PSRP` over SSH commands (#12802) (Thanks @BrannenGH!)
- Adds a `.ResolvedTarget` Property to `File-System` Items to Reflect a Symlink's Target as `FileSystemInfo` (#16490) (Thanks @hammy3502!)
Expand Down Expand Up @@ -903,7 +903,7 @@ when not needed and dynamically determine the DOTNET_ROOT (Internal 19268, 19269
- Add newly joined members to their respective Working Groups (#16849)
- Update Engine Working Group members (#16780)
- Replace the broken link about pull request (#16771)
- Update change log to remove a broken URL (#16735)
- Update changelog to remove a broken URL (#16735)
- Updated `README.md` and `metadata.json` for `v7.3.0-preview.1` release (#16627)
- Updating changelog for `7.2.1` (#16616)
- Updated `README.md` and `metadata.json` for `7.2.1` release (#16586)
Expand Down Expand Up @@ -1131,10 +1131,10 @@ when not needed and dynamically determine the DOTNET_ROOT (Internal 19268, 19269
- Update more docs for `net6.0` TFM (#16102) (Thanks @xtqqczze!)
- Change `snippet` tag to `code` tag in XML comments (#16106)
- Update build documentation to reflect .NET 6 (#15751) (Thanks @Kellen-Stuart!)
- Update `README.md` about the change logs (#16471) (Thanks @powershellpr0mpt!)
- Update change log for 7.2.0 (#16401)
- Update `README.md` about the changelogs (#16471) (Thanks @powershellpr0mpt!)
- Update changelog for 7.2.0 (#16401)
- Update `metadata.json` and `README.md` for 7.2.0 release (#16395)
- Update `README.md` and `metadata.json` files for `v7.2.0-rc.1` release (#16285)
- Update the change logs for `v7.0.8` and `v7.1.5` releases (#16248)
- Update the changelogs for `v7.0.8` and `v7.1.5` releases (#16248)

[7.3.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.10...v7.3.0-preview.1
Loading