5
5
paths :
6
6
- ' **/*.md'
7
7
8
- permissions :
9
- contents : read
10
- checks : write
11
- issues : write
12
- pull-requests : write
13
-
14
8
jobs :
15
- vale :
9
+ vale : # Vale linting job
16
10
runs-on : ubuntu-latest
17
11
18
12
steps :
@@ -33,14 +27,14 @@ jobs:
33
27
BASE_SHA=$(git merge-base origin/${{ github.event.pull_request.base.ref }} ${{ github.sha }})
34
28
CHANGED_FILES=$(git diff --name-only $BASE_SHA ${{ github.sha }} -- '*.md')
35
29
echo "CHANGED_FILES=$CHANGED_FILES" >> $GITHUB_ENV
36
- echo "::set-output name=files:: $(echo $CHANGED_FILES | jq -R -s -c 'split("\n")[:-1]')"
30
+ echo "CHANGED_FILES= $(echo $CHANGED_FILES | jq -R -s -c 'split(\ "\n\ ")[:-1]')" >> $GITHUB_ENV
37
31
38
32
- name : Print Changed Files
39
33
run : echo $CHANGED_FILES
40
34
41
35
- name : Run Vale on changed files
42
36
run : |
43
- for file in $(echo $ {{ steps.changed-files.outputs.files }} | jq -r '.[]') ; do
37
+ for file in ${{ env.CHANGED_FILES }}; do
44
38
echo "Running Vale on $file"
45
39
vale --output=JSON $file > "vale_output_${file//\//_}.json"
46
40
vale --output=edit $file > "vale_output_${file//\//_}_edit.md"
52
46
run : |
53
47
mkdir -p original_files
54
48
mkdir -p corrected_files
55
- for file in $(echo $ {{ steps.changed-files.outputs.files }} | jq -r '.[]') ; do
49
+ for file in ${{ env.CHANGED_FILES }}; do
56
50
echo "Copying $file to original_files/${file//\//_}.original"
57
51
cp "$file" "original_files/${file//\//_}.original"
58
52
echo "Copying vale_output_${file//\//_}_edit.md to corrected_files/${file//\//_}"
62
56
ls -l original_files
63
57
echo "Corrected files:"
64
58
ls -l corrected_files
65
- env :
66
- REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
67
59
68
60
- name : Upload original files
69
61
uses : actions/upload-artifact@v3
77
69
name : corrected-files
78
70
path : corrected_files/
79
71
80
- suggest :
72
+ suggest : # Reviewdog suggestion job
81
73
runs-on : ubuntu-latest
82
- needs : vale
74
+ needs : vale # This ensures the suggest job runs after the vale job
83
75
84
76
steps :
85
77
- name : Checkout code
@@ -115,18 +107,13 @@ jobs:
115
107
116
108
- name : Run Reviewdog with corrected files
117
109
run : |
118
- mkdir -p temp_diff
119
110
for file in original_files/*.original; do
120
111
original="$file"
121
112
corrected="corrected_files/$(basename "$file" .original)"
122
113
diff_output=$(diff -u "$original" "$corrected")
123
114
if [[ -n "$diff_output" ]]; then
124
- echo "$diff_output" > "temp_diff/$(basename "$file" .original).diff"
115
+ echo "$diff_output" | reviewdog -f=diff -name="Vale" -reporter=github-pr-review -level=warning -filter-mode=nofilter
125
116
fi
126
117
done
127
- ls temp_diff/
128
- for diff_file in temp_diff/*.diff; do
129
- reviewdog -f=diff -name="Vale" -reporter=github-pr-review -level=warning -filter-mode=nofilter < "$diff_file"
130
- done
131
118
env :
132
119
REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
0 commit comments