generated from LizardByte/template-base
-
-
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.
- Loading branch information
1 parent
d6ba80f
commit 50be3ad
Showing
8 changed files
with
571 additions
and
2 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,94 @@ | ||
--- | ||
# lint all markdown files | ||
|
||
name: "CI" | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
types: | ||
- opened | ||
- synchronize | ||
- reopened | ||
|
||
concurrency: | ||
group: "${{ github.workflow }}-${{ github.ref }}" | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
validate: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install markdownlint-cli | ||
run: | | ||
npm install -g markdownlint-cli | ||
- name: Lint markdown files | ||
run: | | ||
markdownlint \ | ||
-f \ | ||
-o markdownlint_report.log \ | ||
'**/*.md' | ||
- name: Print summary | ||
if: failure() | ||
run: | | ||
echo "### Linting report:" >> $GITHUB_STEP_SUMMARY | ||
cat markdownlint_report.log >> $GITHUB_STEP_SUMMARY | ||
echo "### Suggested changes:" >> $GITHUB_STEP_SUMMARY | ||
echo '```diff' >> $GITHUB_STEP_SUMMARY | ||
echo "$(git diff)" >> $GITHUB_STEP_SUMMARY | ||
echo '```' >> $GITHUB_STEP_SUMMARY | ||
- name: Additional checks | ||
if: always() | ||
run: | | ||
exit_code=0 | ||
# find invalid file names | ||
for file in $(find ./commands -type f -name '*.md'); do | ||
filename=$(basename "$file") | ||
if [[ $filename != 'body.md' && $filename != 'footer.md' ]]; then | ||
echo "Invalid file $file. Only body.md and footer.md are allowed" >> $GITHUB_STEP_SUMMARY | ||
exit_code=1 | ||
fi | ||
done | ||
# check character count | ||
for file in $(find ./commands -type f \( -name 'body.md' -o -name 'footer.md' \)); do | ||
echo "Checking $file" | ||
char_count=$(wc -c <"$file") | ||
echo "Character count: $char_count" | ||
filename=$(basename "$file") | ||
echo "Filename: $filename" | ||
if [[ $filename == 'body.md' && $char_count -gt 4096 ]]; then | ||
echo "$file exceeds the 4096 character limit" >> $GITHUB_STEP_SUMMARY | ||
exit_code=1 | ||
elif [[ $filename == 'footer.md' && $char_count -gt 2048 ]]; then | ||
echo "$file exceeds the 2048 character limit" | ||
exit_code=1 | ||
fi | ||
echo "Exit code after checking character count: $exit_code" | ||
if [[ $filename == 'body.md' ]]; then | ||
dir=$(dirname "$file") | ||
if [[ -f "$dir/footer.md" ]]; then | ||
footer_char_count=$(wc -c <"$dir/footer.md") | ||
total_char_count=$((char_count + footer_char_count)) | ||
if [[ $total_char_count -gt 6000 ]]; then | ||
echo "The combined character count of $file and $dir/footer.md exceeds the 6000 character limit" \ | ||
>> $GITHUB_STEP_SUMMARY | ||
exit_code=1 | ||
fi | ||
fi | ||
fi | ||
done | ||
exit $exit_code |
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,2 @@ | ||
# ignore JetBrains IDE files | ||
.idea/ |
Oops, something went wrong.