Skip to content

Commit b80840f

Browse files
authored
Merge branch 'test-vale' into test-vale-pr
2 parents dffcbfc + 9032015 commit b80840f

File tree

1 file changed

+99
-102
lines changed

1 file changed

+99
-102
lines changed

.github/workflows/vale.yml

Lines changed: 99 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -5,114 +5,111 @@ on:
55
paths:
66
- '**/*.md'
77

8-
permissions:
9-
contents: read
10-
pull-requests: write
11-
128
jobs:
13-
vale:
9+
lint:
1410
runs-on: ubuntu-latest
1511

1612
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v3
19-
with:
20-
fetch-depth: 0
21-
22-
- name: Install Vale
23-
uses: errata-ai/vale-action@v2
24-
with:
25-
version: latest
26-
27-
- name: Install jq
28-
run: sudo apt-get install -y jq
29-
30-
- name: Get changed files
31-
id: changed-files
32-
run: |
33-
BASE_SHA=$(git merge-base origin/${{ github.event.pull_request.base.ref }} ${{ github.sha }})
34-
CHANGED_FILES=$(git diff --name-only $BASE_SHA ${{ github.sha }} -- '*.md')
35-
echo "CHANGED_FILES=$CHANGED_FILES" >> $GITHUB_ENV
36-
echo "::set-output name=files::$(echo $CHANGED_FILES | jq -R -s -c 'split(\"\\n\")[:-1]')"
37-
38-
- name: Print Changed Files
39-
run: echo $CHANGED_FILES
40-
41-
- name: Run Vale on changed files
42-
run: vale --config=vale.ini --output=JSON $file > "vale_output_${file//\//_}.json"
43-
44-
- name: Apply Vale edits and save originals
45-
run: |
46-
mkdir -p original_files
47-
mkdir -p corrected_files
48-
for file in $(echo ${{ steps.changed-files.outputs.files }} | jq -r '.[]'); do
49-
echo "Copying $file to original_files/${file//\//_}.original"
50-
cp "$file" "original_files/${file//\//_}.original"
51-
echo "Copying vale_output_${file//\//_}_edit.md to corrected_files/${file//\//_}"
52-
cp "vale_output_${file//\//_}_edit.md" "corrected_files/${file//\//_}"
53-
done
54-
echo "Original files:"
55-
ls -l original_files
56-
echo "Corrected files:"
57-
ls -l corrected_files
58-
59-
- name: Upload original files
60-
uses: actions/upload-artifact@v3
61-
with:
62-
name: original-files
63-
path: original_files/
64-
65-
- name: Upload corrected files
66-
uses: actions/upload-artifact@v3
67-
with:
68-
name: corrected-files
69-
path: corrected_files/
13+
- name: Checkout code
14+
uses: actions/checkout@v3
15+
with:
16+
fetch-depth: 0 # Fetch all history so we can access all commits
17+
18+
- name: Install Vale
19+
run: |
20+
wget -qO- https://install.goreleaser.com/github.com/ValeLint/vale.sh | sh -s v2.9.4
21+
sudo mv ./bin/vale /usr/local/bin/vale
22+
shell: bash
23+
24+
- name: Install jq
25+
run: sudo apt-get install -y jq
26+
27+
- name: Get changed files
28+
id: changed-files
29+
run: |
30+
BASE_SHA=$(git merge-base origin/${{ github.event.pull_request.base.ref }} ${{ github.sha }})
31+
CHANGED_FILES=$(git diff --name-only $BASE_SHA ${{ github.sha }} -- '*.md')
32+
echo "CHANGED_FILES=$CHANGED_FILES" >> $GITHUB_ENV
33+
echo "CHANGED_FILES=$(echo $CHANGED_FILES | jq -R -s -c 'split(\"\n\")[:-1]')" >> $GITHUB_ENV
34+
35+
- name: Print Changed Files
36+
run: echo $CHANGED_FILES
37+
38+
- name: Run Vale on changed files
39+
run: |
40+
for file in ${{ env.CHANGED_FILES }}; do
41+
echo "Running Vale on $file"
42+
vale --config=vale.ini --output=JSON "$file" > "vale_output_${file//\//_}.json"
43+
vale --config=vale.ini --output=edit "$file" > "vale_output_${file//\//_}_edit.md"
44+
done
45+
shell: bash
46+
47+
- name: Apply Vale edits and save originals
48+
run: |
49+
mkdir -p original_files
50+
mkdir -p corrected_files
51+
for file in ${{ env.CHANGED_FILES }}; do
52+
echo "Copying $file to original_files/${file//\//_}.original"
53+
cp "$file" "original_files/${file//\//_}.original"
54+
echo "Copying vale_output_${file//\//_}_edit.md to corrected_files/${file//\//_}"
55+
cp "vale_output_${file//\//_}_edit.md" "corrected_files/${file//\//_}"
56+
done
57+
env:
58+
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
59+
60+
- name: Upload original files
61+
uses: actions/upload-artifact@v3
62+
with:
63+
name: original-files
64+
path: original_files/
65+
66+
- name: Upload corrected files
67+
uses: actions/upload-artifact@v3
68+
with:
69+
name: corrected-files
70+
path: corrected_files/
7071

7172
suggest:
7273
runs-on: ubuntu-latest
73-
needs: vale # This ensures the suggest job runs after the vale job
74+
needs: lint
7475

7576
steps:
76-
- name: Checkout code
77-
uses: actions/checkout@v3
78-
79-
- name: Download original files
80-
uses: actions/download-artifact@v3
81-
with:
82-
name: original-files
83-
84-
- name: Download corrected files
85-
uses: actions/download-artifact@v3
86-
with:
87-
name: corrected-files
88-
89-
- name: List downloaded files
90-
run: |
91-
echo "Original files:"
92-
ls -l original_files
93-
echo "Corrected files:"
94-
ls -l corrected_files
95-
96-
- name: Run Reviewdog Suggestion Action
97-
uses: reviewdog/action-suggester@v1
98-
with:
99-
github_token: ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
100-
tool_name: Vale
101-
level: "warning"
102-
filter_mode: "added"
103-
fail_on_error: "false"
104-
reviewdog_flags: ""
105-
cleanup: "true"
106-
107-
- name: Run Reviewdog with corrected files
108-
run: |
109-
for file in original_files/*.original; do
110-
original="$file"
111-
corrected="corrected_files/$(basename "$file" .original)"
112-
diff_output=$(diff -u "$original" "$corrected")
113-
if [[ -n "$diff_output" ]]; then
114-
echo "$diff_output" | reviewdog -f=diff -name="Vale" -reporter=github-pr-review -level=warning -filter-mode=nofilter
115-
fi
116-
done
117-
env:
118-
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
77+
- name: Checkout code
78+
uses: actions/checkout@v3
79+
80+
- name: Download original files
81+
uses: actions/download-artifact@v3
82+
with:
83+
name: original-files
84+
85+
- name: Download corrected files
86+
uses: actions/download-artifact@v3
87+
with:
88+
name: corrected-files
89+
90+
- name: List downloaded files
91+
run: |
92+
echo "Original files:"
93+
ls -l original_files
94+
echo "Corrected files:"
95+
ls -l corrected_files
96+
97+
- name: Run Reviewdog Suggestion Action
98+
uses: reviewdog/action-suggester@v1
99+
with:
100+
github_token: ${{ secrets.REVIEWDOG_GITHUB_API_TOKEN }}
101+
tool_name: Vale
102+
level: "warning"
103+
filter_mode: "diff_context"
104+
fail_on_error: "false"
105+
reviewdog_flags: ""
106+
cleanup: "true"
107+
108+
- name: Run Reviewdog with corrected files
109+
run: |
110+
for file in original_files/*.original; do
111+
original="$file"
112+
corrected="corrected_files/$(basename "$file" .original)"
113+
diff_output=$(diff -u "$original" "$corrected")
114+
if [[ -n "$diff_output" ]]; then
115+
echo "$diff_output" | reviewdog -f=diff -name="Vale" -reporter=github-pr-review -level=war

0 commit comments

Comments
 (0)