1
- name : Lint and suggest
1
+ name : Lint and Suggest
2
2
3
3
on :
4
4
pull_request :
@@ -10,48 +10,45 @@ permissions:
10
10
pull-requests : write
11
11
12
12
jobs :
13
- vale : # Vale linting job
13
+ vale :
14
14
runs-on : ubuntu-latest
15
15
16
16
steps :
17
17
- name : Checkout code
18
18
uses : actions/checkout@v3
19
19
with :
20
- fetch-depth : 0 # Fetch all history so we can access all commits
20
+ fetch-depth : 0
21
21
22
22
- name : Install Vale
23
23
uses : errata-ai/vale-action@v2
24
-
25
- - name : Install jq
26
- run : sudo apt-get install -y jq
24
+ with :
25
+ version : latest
27
26
28
27
- name : Get changed files
29
28
id : changed-files
30
29
run : |
31
30
BASE_SHA=$(git merge-base origin/${{ github.event.pull_request.base.ref }} ${{ github.sha }})
32
31
CHANGED_FILES=$(git diff --name-only $BASE_SHA ${{ github.sha }} -- '*.md')
33
32
echo "CHANGED_FILES=$CHANGED_FILES" >> $GITHUB_ENV
34
- echo "CHANGED_FILES= $(echo $CHANGED_FILES | jq -R -s -c 'split(\"\n\")[:-1]')" >> $GITHUB_ENV
33
+ echo "::set-output name=files:: $(echo $CHANGED_FILES | jq -R -s -c 'split(\"\\ n\")[:-1]')"
35
34
36
35
- name : Print Changed Files
37
36
run : echo $CHANGED_FILES
38
37
39
38
- name : Run Vale on changed files
40
39
run : |
41
- for file in ${{ env.CHANGED_FILES }}; do
40
+ for file in $(echo $ {{ steps.changed-files.outputs.files }} | jq -r '.[]') ; do
42
41
echo "Running Vale on $file"
43
- vale --output=JSON $file > "vale_output_${file//\//_}.json"
44
- vale --output=edit $file > "vale_output_${file//\//_}_edit.md"
42
+ vale --output=JSON "$file" > "vale_output_${file//\//_}.json"
45
43
done
46
44
echo "Vale outputs:"
47
45
ls -l
48
46
49
- - name : Simulate Vale changes
47
+ - name : Apply Vale suggestions
50
48
run : |
51
- mkdir -p simulated_changes
49
+ mkdir -p suggested_changes
52
50
for file in $(echo ${{ steps.changed-files.outputs.files }} | jq -r '.[]'); do
53
- cp "$file" "simulated_changes/$(basename "$file")"
54
- vale --output=edit "simulated_changes/$(basename "$file")"
51
+ vale --output=line "$file" | grep -oP 'Consider changing.*' > suggested_changes/"$(basename "$file")".suggestions
55
52
done
56
53
57
54
- name : Upload Vale results
@@ -60,27 +57,27 @@ jobs:
60
57
name : vale-results
61
58
path : ' *.json'
62
59
63
- - name : Upload simulated changes
60
+ - name : Upload suggested changes
64
61
uses : actions/upload-artifact@v3
65
62
with :
66
- name : simulated -changes
67
- path : simulated_changes
63
+ name : suggested -changes
64
+ path : suggested_changes/
68
65
69
66
suggest :
70
67
runs-on : ubuntu-latest
71
- needs : vale # This ensures the suggest job runs after the vale job
68
+ needs : vale
72
69
73
70
steps :
74
71
- name : Checkout code
75
72
uses : actions/checkout@v3
76
73
77
- - name : Download simulated changes
74
+ - name : Download suggested changes
78
75
uses : actions/download-artifact@v3
79
76
with :
80
- name : simulated -changes
77
+ name : suggested -changes
81
78
82
79
- name : List downloaded files
83
- run : ls -l simulated_changes
80
+ run : ls -l suggested_changes
84
81
85
82
- name : Suggest changes
86
83
uses : parkerbxyz/suggest-changes@v1
0 commit comments