51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
FAILED=0
|
||
|
|
||
|
echo -ne "mdl "
|
||
|
mdl --version
|
||
|
|
||
|
# This performs markdown style check over changed markdown files
|
||
|
check_pull_request_content() {
|
||
|
|
||
|
# only check pull request, skip others
|
||
|
if [[ -z $CIRCLE_PULL_REQUEST ]]; then
|
||
|
echo "Skip, only check pull request."
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# get changed files of this PR
|
||
|
CIRCLE_PR_NUMBER=${CIRCLE_PULL_REQUEST##*/}
|
||
|
OWNER=$(echo $CIRCLE_PULL_REQUEST | cut -d / -f 4)
|
||
|
REPO=$(echo $CIRCLE_PULL_REQUEST | cut -d / -f 5)
|
||
|
URL="https://api.github.com/repos/$OWNER/$REPO/pulls/$CIRCLE_PR_NUMBER/files"
|
||
|
|
||
|
echo
|
||
|
echo "Getting list of changed markdown files..."
|
||
|
CHANGED_MARKDOWN_FILES=()
|
||
|
while IFS=$'\n' read -r line; do
|
||
|
CHANGED_MARKDOWN_FILES+=( "${line}" )
|
||
|
done < <(curl --retry 20 -s -X GET -G $URL | jq '.[] | select(.status != "removed") | select(.filename | endswith(".md")) | .filename')
|
||
|
echo "Total changed markdown files: ${#CHANGED_MARKDOWN_FILES[@]}"
|
||
|
echo "${CHANGED_MARKDOWN_FILES[@]}"
|
||
|
echo
|
||
|
|
||
|
if [[ "${#CHANGED_MARKDOWN_FILES[@]}" != "0" ]]; then
|
||
|
echo "${CHANGED_MARKDOWN_FILES[@]}" | xargs mdl --ignore-front-matter --style mdl_style.rb
|
||
|
if [[ "$?" != "0" ]]; then
|
||
|
FAILED=1
|
||
|
fi
|
||
|
else
|
||
|
echo "No changed markdown files to check."
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
check_pull_request_content
|
||
|
|
||
|
if [[ $FAILED -eq 1 ]]; then
|
||
|
echo "MARKDOWN STYLE CHECK FAILED"
|
||
|
exit 1
|
||
|
else
|
||
|
echo "MARKDOWN STYLE CHECK SUCCEEDED"
|
||
|
fi
|