mirror of
https://github.com/Stone-Red-Code/docs-desktop.git
synced 2026-09-04 09:06:04 +02:00
Initial repo config (#9)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: docs.microsoft.com site feedback
|
||||
url: https://github.com/MicrosoftDocs/feedback/issues/new/choose
|
||||
about: Log general docs.microsoft.com site issues here
|
||||
- name: .NET platform and other product feedback
|
||||
url: https://developercommunity.visualstudio.com/spaces/61/index.html
|
||||
about: Log product issues here
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
name: .NET doc issue
|
||||
about: Report a problem in the .NET documentation
|
||||
---
|
||||
|
||||
**Before you open an issue**
|
||||
|
||||
If the issue is:
|
||||
|
||||
- A simple typo or similar correction, consider submitting a PR to fix it instead of logging an issue. See [the contributor guide](https://docs.microsoft.com/contribute/#quick-edits-to-existing-documents) for instructions.
|
||||
- A general support question, consider asking on a support forum site.
|
||||
- A site design concern, create an issue at [MicrosoftDocs/feedback](https://github.com/MicrosoftDocs/feedback/issues/new/choose).
|
||||
- A problem completing a tutorial, compare your code with the completed sample.
|
||||
- A duplicate of an open or closed issue, leave a comment on that issue.
|
||||
|
||||
**Issue description**
|
||||
|
||||
<include description here>
|
||||
|
||||
**Target framework**
|
||||
|
||||
Check the .NET target framework(s) being used, and include the version number(s).
|
||||
|
||||
- [ ] .NET Core
|
||||
- [ ] .NET Framework
|
||||
- [ ] .NET Standard
|
||||
|
||||
If using the .NET Core SDK, include `dotnet --info` output. If using .NET Framework without the .NET Core SDK, include info from Visual Studio's **Help** > **About Microsoft Visual Studio** dialog.
|
||||
|
||||
<details>
|
||||
<summary><strong>dotnet --info output</strong> or <strong>About VS info</strong></summary>
|
||||
|
||||
```console
|
||||
<replace>
|
||||
```
|
||||
</details>
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: .NET doc request
|
||||
about: Request a new article to provide missing information
|
||||
---
|
||||
|
||||
**Help us make content visible**
|
||||
|
||||
- Tell us what search terms you used and how you searched docs.
|
||||
- Tell us what docs you found that didn't address your concern.
|
||||
|
||||
**Describe the new article**
|
||||
|
||||
- Explain why this article is needed.
|
||||
- Suggest a location in the Table of Contents.
|
||||
- Write an abstract. In one **short** paragraph, describe what this article will cover.
|
||||
- Create an outline for the new article. We'll help review the outline and approve it before anyone writes the article.
|
||||
@@ -0,0 +1,92 @@
|
||||
---
|
||||
name: .NET Core breaking change
|
||||
about: Report a change in .NET Core that breaks something that worked in a previous version (intended mostly for product-team use)
|
||||
---
|
||||
|
||||
<!--
|
||||
This issue template is for use in creating issues that document breaking changes. This template can be used to create an issue:
|
||||
|
||||
- By Microsoft product team members who are documenting a breaking change.
|
||||
|
||||
- By Microsoft customers who are experiencing a compatibility issue between .NET Framework and .NET Core or between versions of .NET Core.
|
||||
|
||||
Text in brackets is a placeholder; replace the text with the requested information and remove the brackets before submitting the issue.
|
||||
|
||||
Also, remove this comment before submitting the issue.
|
||||
-->
|
||||
|
||||
## [Change title]
|
||||
|
||||
[Brief description of the change]
|
||||
|
||||
### Version introduced
|
||||
|
||||
[Version in which the breaking change first occurred (for example, 3.0 for .NET Core 3.0)]
|
||||
|
||||
### Old behavior
|
||||
|
||||
### New behavior
|
||||
|
||||
### Reason for change
|
||||
|
||||
### Recommended action
|
||||
|
||||
[ Suggested steps if user is affected go here:
|
||||
- Possible workarounds
|
||||
- Example of code changes to handle change
|
||||
]
|
||||
|
||||
### Category
|
||||
|
||||
[Choose a category from one of the following:
|
||||
|
||||
- ASP.NET Core
|
||||
- C#
|
||||
- Core .NET libraries
|
||||
- Cryptography
|
||||
- Data
|
||||
- Debugger
|
||||
- Deployment
|
||||
- Globalization
|
||||
- Interop
|
||||
- JIT
|
||||
- LINQ
|
||||
- Managed Extensibility Framework (MEF)
|
||||
- MSBuild
|
||||
- Networking
|
||||
- Printing
|
||||
- Security
|
||||
- Serialization
|
||||
- Visual Basic
|
||||
- Windows Forms
|
||||
- Windows Presentation Foundation (WPF)
|
||||
- XML, XSLT
|
||||
]
|
||||
|
||||
### Affected APIs
|
||||
|
||||
[ If no APIs are affected, this should read:
|
||||
"Not detectable via API analysis"
|
||||
|
||||
If affected APIs are identifiable, include a link for each. The link takes the form:
|
||||
|
||||
`[friendly description of API](link to API on docs.microsoft.com)`
|
||||
|
||||
For example, `[String.IndexOf(String)](https://docs.microsoft.com/dotnet/api/system.string.indexof#System_String_IndexOf_System_String_)
|
||||
|
||||
For methods, if all overloads are affected, link to the general overloaded method page. For example:
|
||||
|
||||
<https://docs.microsoft.com/dotnet/api/system.string.indexof>
|
||||
|
||||
Otherwise, link to the individual method overload. For example:
|
||||
|
||||
<https://docs.microsoft.com/dotnet/api/system.string.indexof#System_String_IndexOf_System_String_>
|
||||
|
||||
]
|
||||
|
||||
<!-- Do not modify anything below this line -->
|
||||
|
||||
---
|
||||
#### Issue metadata
|
||||
|
||||
* Issue type: breaking-change
|
||||
@@ -0,0 +1,5 @@
|
||||
## Summary
|
||||
|
||||
Describe your changes here.
|
||||
|
||||
Fixes #Issue_Number (if available)
|
||||
@@ -0,0 +1,10 @@
|
||||
# Configuration for probot-no-response - https://github.com/probot/no-response
|
||||
|
||||
# Number of days of inactivity before an Issue is closed for lack of response
|
||||
daysUntilClose: 14
|
||||
# Label requiring a response
|
||||
responseRequiredLabel: needs-more-info
|
||||
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
|
||||
closeComment: >
|
||||
This issue has been automatically closed due to no response from the original author.
|
||||
Please feel free to reopen it if you have more information that can help us investigate the issue further.
|
||||
@@ -0,0 +1,19 @@
|
||||
name: "bc-notification"
|
||||
on:
|
||||
issues:
|
||||
types: [edited, labeled]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: timheuer/[email protected]
|
||||
env:
|
||||
SENDGRID_API_KEY: ${{ secrets.SENDGRID_API }}
|
||||
with:
|
||||
fromMailAddress: '${{ secrets.BC_NOTIFY }}'
|
||||
toMailAddress: '${{ secrets.BC_NOTIFY }}'
|
||||
subject: 'BC:'
|
||||
subjectPrefix: 'BC:'
|
||||
labelsToMonitor: "breaking-change"
|
||||
@@ -0,0 +1,75 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
name: Snippets 5000
|
||||
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- "**.cs"
|
||||
- "**.vb"
|
||||
- "**.fs"
|
||||
- "**.cpp"
|
||||
- "**.h"
|
||||
- "**.xaml"
|
||||
- "**.razor"
|
||||
- "**.cshtml"
|
||||
- "**.vbhtml"
|
||||
- "**.*proj"
|
||||
- "**global.json"
|
||||
- "**snippets.5000.json"
|
||||
branches: [ master ]
|
||||
|
||||
env:
|
||||
DOTNET_INSTALLER_CHANNEL: 'release/5.0.1xx-preview7'
|
||||
DOTNET_DO_INSTALL: 'true'
|
||||
EnableNuGetPackageRestore: 'True'
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: windows-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Get the latest preview SDK (or sdk not installed by the runner)
|
||||
- name: Setup .NET Core SDK Preview
|
||||
if: ${{ env.DOTNET_DO_INSTALL == 'true' }}
|
||||
run: |
|
||||
echo "Downloading dotnet-install.ps1"
|
||||
Invoke-WebRequest https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
|
||||
echo "Installing dotnet version ${{ env.DOTNET_INSTALLER_CHANNEL }}"
|
||||
.\dotnet-install.ps1 -InstallDir "c:\program files\dotnet" -Channel "${{ env.DOTNET_INSTALLER_CHANNEL }}"
|
||||
|
||||
# Install locate projs global tool
|
||||
- name: Install LocateProjects tool
|
||||
run: |
|
||||
dotnet tool install --global --add-source ./.github/workflows/dependencies/ DotnetDocsTools.LocateProjects
|
||||
|
||||
# Run locate projs tool
|
||||
- name: Locate projects for PR
|
||||
env:
|
||||
GitHubKey: ${{ secrets.GITHUB_TOKEN }}
|
||||
LocateExts: ".cs;.vb;.fs;.cpp;.h;.xaml;.razor;.cshtml;.vbhtml;.csproj;.fsproj;.vbproj;.sln"
|
||||
run: |
|
||||
./.github/workflows/dependencies/Get-MSBuildResults.ps1 "${{ github.workspace }}" -PullRequest ${{ github.event.number }} -RepoOwner ${{ github.repository_owner }} -RepoName ${{ github.event.repository.name }}
|
||||
|
||||
# Update build output json file
|
||||
- name: Upload build results
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: build
|
||||
path: ./output.json
|
||||
|
||||
# Return status based on json file
|
||||
- name: Report status
|
||||
run: |
|
||||
./.github/workflows/dependencies/Out-GithubActionStatus.ps1
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,275 @@
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Invokes dotnet build on the samples sln and project files.
|
||||
|
||||
.DESCRIPTION
|
||||
Invokes dotnet build on the samples sln and project files.
|
||||
|
||||
.PARAMETER RepoRootDir
|
||||
The directory of the repository files on the local machine.
|
||||
|
||||
.PARAMETER PullRequest
|
||||
The pull requst to process. If 0 or not passed, processes the whole repo
|
||||
|
||||
.PARAMETER RepoOwner
|
||||
The name of the repository owner.
|
||||
|
||||
.PARAMETER RepoName
|
||||
The name of the repository.
|
||||
|
||||
.PARAMETER RangeStart
|
||||
A range of results to process.
|
||||
|
||||
.PARAMETER RangeEnd
|
||||
A range of results to process.
|
||||
|
||||
.INPUTS
|
||||
None
|
||||
|
||||
.OUTPUTS
|
||||
None
|
||||
|
||||
.NOTES
|
||||
Version: 1.3
|
||||
Author: adegeo@microsoft.com
|
||||
Creation Date: 07/02/2020
|
||||
Purpose/Change: Add support for config file. Select distinct on project files.
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(Mandatory = $true, ValueFromPipeline = $false)]
|
||||
[System.String] $RepoRootDir = $env:RepoRootDir,
|
||||
|
||||
[Parameter(Mandatory = $false, ValueFromPipeline = $false)]
|
||||
[System.Int64] $PullRequest = 0,
|
||||
|
||||
[Parameter(Mandatory = $false, ValueFromPipeline = $false)]
|
||||
[System.String] $RepoOwner = "",
|
||||
|
||||
[Parameter(Mandatory = $false, ValueFromPipeline = $false)]
|
||||
[System.String] $RepoName = "",
|
||||
|
||||
[Parameter(Mandatory = $false, ValueFromPipeline = $false)]
|
||||
[System.Int32] $RangeStart = $env:rangestart,
|
||||
|
||||
[Parameter(Mandatory = $false, ValueFromPipeline = $false)]
|
||||
[System.Int32] $RangeEnd = $env:rangeend
|
||||
)
|
||||
|
||||
$Global:statusOutput = @()
|
||||
|
||||
Write-Host "Gathering solutions and projects..."
|
||||
|
||||
if ($PullRequest -ne 0) {
|
||||
Write-Host "Running `"LocateProjects `"$RepoRootDir`" --pullrequest $PullRequest --owner $RepoOwner --repo $RepoName`""
|
||||
$output = Invoke-Expression "LocateProjects `"$RepoRootDir`" --pullrequest $PullRequest --owner $RepoOwner --repo $RepoName"
|
||||
}
|
||||
else {
|
||||
Write-Host "Running `"LocateProjects `"$RepoRootDir`""
|
||||
$output = Invoke-Expression "LocateProjects `"$RepoRootDir`""
|
||||
}
|
||||
|
||||
if ($LASTEXITCODE -ne 0)
|
||||
{
|
||||
$output
|
||||
throw "Error on running LocateProjects"
|
||||
}
|
||||
|
||||
function New-Result($inputFile, $projectFile, $exitcode, $outputText)
|
||||
{
|
||||
$info = @{}
|
||||
|
||||
$info.InputFile = $inputFile
|
||||
$info.ProjectFile = $projectFile
|
||||
$info.ExitCode = $exitcode
|
||||
$info.Output = $outputText
|
||||
|
||||
$object = New-Object -TypeName PSObject -Prop $info
|
||||
$Global:statusOutput += $object
|
||||
}
|
||||
|
||||
$workingSet = $output
|
||||
|
||||
if (($RangeStart -ne 0) -and ($RangeEnd -ne 0)){
|
||||
$workingSet = $output[$RangeStart..$RangeEnd]
|
||||
}
|
||||
|
||||
# Log working set items prior to filtering
|
||||
$workingSet | Write-Host
|
||||
|
||||
# Remove duplicated projects
|
||||
$projects = @()
|
||||
$workingSetTemp = @()
|
||||
|
||||
foreach ($item in $workingSet) {
|
||||
$data = $item.Split('|')
|
||||
if ($projects.Contains($data[2].Trim())) {
|
||||
continue
|
||||
}
|
||||
if ($data[2].Trim() -ne "") {
|
||||
$projects += $data[2].Trim()
|
||||
}
|
||||
$workingSetTemp += $item
|
||||
}
|
||||
|
||||
$workingSet = $workingSetTemp
|
||||
|
||||
# Process working set
|
||||
$counter = 1
|
||||
$length = $workingSet.Count
|
||||
$thisExitCode = 0
|
||||
|
||||
$ErrorActionPreference = "Continue"
|
||||
|
||||
foreach ($item in $workingSet) {
|
||||
try {
|
||||
Write-Host "$counter/$length :: $Item"
|
||||
|
||||
$data = $item.Split('|')
|
||||
|
||||
# Project found, build it
|
||||
if ([int]$data[0] -eq 0) {
|
||||
$projectFile = Resolve-Path "$RepoRootDir\$($data[2])"
|
||||
$configFile = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($projectFile), "snippets.5000.json")
|
||||
|
||||
# Create the default build command
|
||||
"dotnet build `"$projectFile`"" | Out-File ".\run.bat"
|
||||
|
||||
# Check for config file
|
||||
if ([System.IO.File]::Exists($configFile) -eq $true) {
|
||||
Write-Host "- Config file found"
|
||||
|
||||
$settings = $configFile | Get-ChildItem | Get-Content | ConvertFrom-Json
|
||||
|
||||
if ($settings.host -eq "visualstudio") {
|
||||
Write-Host "- Using visual studio as build host"
|
||||
|
||||
# Create the visual studio build command
|
||||
"CALL `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat`"`n" +
|
||||
"msbuild.exe `"$projectFile`" -restore:True" `
|
||||
| Out-File ".\run.bat"
|
||||
}
|
||||
}
|
||||
|
||||
$result = Invoke-Expression ".\run.bat" | Out-String
|
||||
$thisExitCode = 0
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
$thisExitCode = 4
|
||||
}
|
||||
|
||||
New-Result $data[1] $projectFile $thisExitCode $result
|
||||
}
|
||||
|
||||
# No project found
|
||||
elseif ([int]$data[0] -eq 1) {
|
||||
New-Result $data[1] "" 1 "😵 Project missing. A project (and optionally a solution file) must be in this directory or one of the parent directories to validate and build this code."
|
||||
|
||||
$thisExitCode = 1
|
||||
}
|
||||
|
||||
# Too many projects found
|
||||
elseif ([int]$data[0] -eq 2) {
|
||||
New-Result $data[1] $data[2] 2 "😕 Too many projects found. A single project or solution must existing in this directory or one of the parent directories."
|
||||
|
||||
$thisExitCode = 2
|
||||
}
|
||||
|
||||
# Solution found, but no project
|
||||
elseif ([int]$data[0] -eq 3) {
|
||||
New-Result $data[1] $data[2] 2 "😲 Solution found, but missing project. A project is required to compile this code."
|
||||
$thisExitCode = 3
|
||||
}
|
||||
}
|
||||
catch {
|
||||
New-Result $data[1] $projectFile 1000 "ERROR: $($_.Exception)"
|
||||
$thisExitCode = 4
|
||||
Write-Host $_.Exception.Message -Foreground "Red"
|
||||
Write-Host $_.ScriptStackTrace -Foreground "DarkGray"
|
||||
}
|
||||
|
||||
$counter++
|
||||
}
|
||||
|
||||
$resultItems = $Global:statusOutput | Select-Object InputFile, ProjectFile, ExitCode, Output
|
||||
|
||||
# Add our output type
|
||||
$typeResult = @"
|
||||
public class ResultItem
|
||||
{
|
||||
public string ProjectFile;
|
||||
public string InputFile;
|
||||
public int ExitCode;
|
||||
public string BuildOutput;
|
||||
public MSBuildError[] Errors;
|
||||
public int ErrorCount;
|
||||
|
||||
public class MSBuildError
|
||||
{
|
||||
public string Line;
|
||||
public string Error;
|
||||
}
|
||||
}
|
||||
"@
|
||||
Add-Type $typeResult
|
||||
|
||||
$transformedItems = $resultItems | ForEach-Object { New-Object ResultItem -Property @{
|
||||
ProjectFile = $_.ProjectFile.Path;
|
||||
InputFile = $_.InputFile;
|
||||
ExitCode = $_.ExitCode;
|
||||
BuildOutput = $_.Output;
|
||||
Errors = @();
|
||||
ErrorCount = 0}
|
||||
}
|
||||
|
||||
# Transform the build output to break it down into MSBuild result entries
|
||||
foreach ($item in $transformedItems) {
|
||||
$list = @()
|
||||
|
||||
# Clean
|
||||
if ($item.ExitCode -eq 0) {
|
||||
#$list += New-Object -TypeName "ResultItem+MSBuildError" -Property @{ Line = $item.BuildOutput; Error = $item.BuildOutput }
|
||||
}
|
||||
# No project found
|
||||
# Too many projects found
|
||||
# Solution found, but no project
|
||||
elseif ($item.ExitCode -ne 4) {
|
||||
$list += New-Object -TypeName "ResultItem+MSBuildError" -Property @{ Line = $item.BuildOutput; Error = $item.BuildOutput }
|
||||
$item.ErrorCount = 1
|
||||
}
|
||||
else {
|
||||
$errorInfo = $item.BuildOutput -Split [System.Environment]::NewLine |
|
||||
Select-String ": (?:Solution file error|error) ([^:]*)" | `
|
||||
Select-Object Line -ExpandProperty Matches | `
|
||||
Select-Object Line, Groups | `
|
||||
Sort-Object Line | Get-Unique -AsString
|
||||
$item.ErrorCount = $errorInfo.Count
|
||||
foreach ($err in $errorInfo) {
|
||||
$list += New-Object -TypeName "ResultItem+MSBuildError" -Property @{ Line = $err.Line; Error = $err.Groups[1].Value }
|
||||
}
|
||||
|
||||
# Error count of 0 here means that no error was detected from build results, but there was still a failure of some kind
|
||||
if ($item.ErrorCount -eq 0) {
|
||||
$list += New-Object -TypeName "ResultItem+MSBuildError" -Property @{ Line = "Unknown error occurred. Check log and build output."; Error = "4" }
|
||||
$item.ErrorCount = 1
|
||||
}
|
||||
}
|
||||
|
||||
$item.Errors = $list
|
||||
|
||||
}
|
||||
|
||||
$transformedItems | ConvertTo-Json -Depth 3 | Out-File 'output.json'
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
# Sample snippets.5000.json file
|
||||
<#
|
||||
{
|
||||
"host": "visualstudio"
|
||||
}
|
||||
|
||||
#>
|
||||
@@ -0,0 +1,53 @@
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Reads the output.json file and outputs status to GitHub Actions
|
||||
|
||||
.DESCRIPTION
|
||||
Reads the output.json file and outputs status to GitHub Actions
|
||||
|
||||
.INPUTS
|
||||
None
|
||||
|
||||
.OUTPUTS
|
||||
None
|
||||
|
||||
.NOTES
|
||||
Version: 1.1
|
||||
Author: adegeo@microsoft.com
|
||||
Creation Date: 06/24/2020
|
||||
Purpose/Change: Change reporting items
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
)
|
||||
|
||||
$json = Get-Content output.json | ConvertFrom-Json
|
||||
|
||||
$errors = $json | Where-Object ErrorCount -ne 0 | Select-Object InputFile -ExpandProperty Errors | Select-Object InputFile, Error, Line
|
||||
|
||||
if ($errors.Count -eq 0) {
|
||||
Write-Host "All builds passed"
|
||||
exit 0
|
||||
}
|
||||
|
||||
Write-Host "Total errors: $($errors.Count)"
|
||||
|
||||
foreach ($er in $errors) {
|
||||
|
||||
$lineColMatch = $er.Line | Select-String "(^.*)\((\d*),(\d*)\)" | Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty Groups
|
||||
$errorFile = $er.InputFile
|
||||
$errorLineNumber = 0
|
||||
$errorColNumber = 0
|
||||
|
||||
if ($lineColMatch.Count -eq 4) {
|
||||
$errorFile = $lineColMatch[1].Value.Replace("D:\a\docs\docs\", "").Replace("\", "/")
|
||||
$errorLineNumber = $lineColMatch[2].Value
|
||||
$errorColNumber = $lineColMatch[3].Value
|
||||
}
|
||||
|
||||
Write-Host "::error file=$errorFile,line=$errorLineNumber,col=$errorColNumber::$($er.Line)"
|
||||
}
|
||||
|
||||
exit 1
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "markdownlint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^([^:]*):(\\d+):?(\\d+)?\\s([\\w-\\/]*)\\s(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"code": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
name: Markdownlint
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "**/*.md"
|
||||
- ".markdownlint.json"
|
||||
- ".github/workflows/markdownlint.yml"
|
||||
- ".github/workflows/markdownlint-problem-matcher.json"
|
||||
pull_request:
|
||||
paths:
|
||||
- "**/*.md"
|
||||
- ".markdownlint.json"
|
||||
- ".github/workflows/markdownlint.yml"
|
||||
- ".github/workflows/markdownlint-problem-matcher.json"
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- name: Run Markdownlint
|
||||
run: |
|
||||
echo "::add-matcher::.github/workflows/markdownlint-problem-matcher.json"
|
||||
npm i -g markdownlint-cli
|
||||
markdownlint "**/*.md" -i "samples/**/*.md"
|
||||
Reference in New Issue
Block a user