Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[bitnami/vms] Add markdown linter (#747)
* [bitnami/vms] Add markdown linter Signed-off-by: Fran Mulero <fmulero@vmware.com> * Fix typo Signed-off-by: Fran Mulero <fmulero@vmware.com> * License file should be ignored Signed-off-by: Fran Mulero <fmulero@vmware.com> --------- Signed-off-by: Fran Mulero <fmulero@vmware.com>
- Loading branch information
Showing
4 changed files
with
58 additions
and
1 deletion.
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,49 @@ | ||
name: '[CI/CD] Markdown linter' | ||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
paths: | ||
- '**.md' | ||
permissions: | ||
contents: read | ||
jobs: | ||
markdown-linter: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Install mardownlint | ||
run: npm install -g markdownlint-cli@0.33.0 | ||
- name: Checkout project | ||
uses: actions/checkout@v3 | ||
- name: Execute markdownlint | ||
run: | | ||
# Using the Github API to detect the files changed as git merge-base stops working when the branch is behind | ||
# and jitterbit/get-changed-files does not support pull_request_target | ||
URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files" | ||
files_changed_data=$(curl -s --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -X GET -G "$URL") | ||
files_changed="$(echo "$files_changed_data" | jq -r '.[] | .filename')" | ||
md_files="$(echo "$files_changed" | grep -o ".*\.md$" | sort | uniq || true)" | ||
# Create an empty file, useful when the PR changes ignored files | ||
touch ${{runner.temp}}/output | ||
exit_code=0 | ||
markdownlint -o ${{runner.temp}}/output ${md_files[@]} || exit_code=$? | ||
while read -r line; do | ||
# line format: | ||
# file:row[:column] message | ||
# white space inside brackets is intentional to detect the message for the notice. | ||
message="${line#*[ ]}" | ||
file_row_column="${line%%[ ]*}" | ||
# Split by ':' | ||
readarray -d : -t strarr < <(printf '%s' "$file_row_column") | ||
if [[ "${#strarr[@]}" -eq 3 ]]; then | ||
echo "::warning file=${strarr[0]},line=${strarr[1]},col=${strarr[2]}::${message}" | ||
elif [[ "${#strarr[@]}" -eq 2 ]]; then | ||
echo "::warning file=${strarr[0]},line=${strarr[1]}::${message}" | ||
else | ||
echo "::warning:: Error processing: ${line}" | ||
fi | ||
done < ${{runner.temp}}/output | ||
if [[ $exit_code -ne 0 ]]; then | ||
echo "::error:: Please review linter messages" | ||
exit "$exit_code" | ||
fi |
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,7 @@ | ||
{ | ||
"default": true, | ||
"MD013": false, | ||
"MD029": { "style": "ordered" }, | ||
"MD033": false, | ||
"MD047": false | ||
} |
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 @@ | ||
LICENSE.md |
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