1
0
forked from BgLUG/bglug.it

pull request linting (#191)

con questa roba facciamo dei controlli su ogni PR:
- vengono controllati i files modificati e se sono nella directory `content` e hanno estensione `.md` vengono passati con `markdownlint` (c'è una config apposita e per ora ho disattivato solo il controllo della lunghezza massima della riga) e se il check fallisce, la PR non è accettabile
- vengono controllati i files modificati e se contengono i caratteri "non permessi" che sono indicati in una lista, la PR non è accettabile

so che forse è un pò "too much", quindi ce la vediamo nei commenti

Reviewed-on: BgLUG/bglug.it#191
Co-authored-by: paspo <paolo@asperti.com>
Co-committed-by: paspo <paolo@asperti.com>
This commit is contained in:
Paolo Asperti 2024-08-10 15:37:26 +00:00 committed by Paolo Asperti
parent a52943938b
commit 4931651f29
5 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,20 @@
#!/bin/bash
echo
echo "Initial commit: $1"
echo "Final commit: $2"
echo
# recupera ogni file modificato in questa PR (tra le 2 commit)
# considera solo i file che terminano con .md
# ogni file viene controllato con markdownlint, con la config comune
EXIT=0
while read -r LINE; do
echo
echo "testing file: $LINE"
markdownlint --config .markdownlint.yaml "$LINE" || EXIT=1
done < <(git diff --name-only "$1" "$2" content/ | grep \.md$)
exit ${EXIT}

View File

@ -0,0 +1,25 @@
---
name: Linting markdown on PR
on:
pull_request:
jobs:
unicode-check:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: run markdownlint on changed files
uses: docker://ghcr.io/igorshubovych/markdownlint-cli
with:
entrypoint: /bin/sh
args: -c 'apk -U add git bash ; bash .gitea/workflows/markdownlint_pr.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}'
- name: check for unwanted unicode runes
run: |
bash .gitea/workflows/unwanted_unicode_pr.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}

View File

@ -0,0 +1,6 @@

View File

@ -0,0 +1,23 @@
#!/bin/bash
echo
echo "Initial commit: $1"
echo "Final commit: $2"
echo
# recupera ogni file modificato in questa PR (tra le 2 commit)
# considera solo i file che terminano con .md
# ogni file viene controllato con grep, con i pattern definiti
# nel file di configurazione
EXIT=0
while read -r LINE; do
if [ -r "$LINE" ] ; then
echo
echo "testing file: $LINE"
grep --color -f .gitea/workflows/unwanted_unicode_patterns.grep "$LINE" && EXIT=1
fi
done < <(git diff --name-only "$1" "$2" content/ | grep \.md$)
exit ${EXIT}

4
.markdownlint.yaml Normal file
View File

@ -0,0 +1,4 @@
# vedi: https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml
default: true
MD013: false