-
Notifications
You must be signed in to change notification settings - Fork 5
92 lines (92 loc) · 2.64 KB
/
checks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
name: Checks
env:
MODULE_LIST_PATH: docs/assets/module-list.json
on:
push:
paths:
- docs/**/*.md
workflow_dispatch:
inputs:
fileList:
description: 'Files to Lint (space delimited)'
required: true
default: "docs/specification.md"
type: string
jobs:
get:
name: Determine what files to check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get Changed files.
if: inputs.fileList == ''
id: input
run: |
shopt -s globstar extglob
FILELIST=$(git diff-tree --no-commit-id --name-only -r $GITHUB_SHA docs/**/*.md | tr '\n' ' ')
echo "Changed files: $FILELIST"
echo "filelist=$FILELIST" >> $GITHUB_OUTPUT
outputs:
filelist: ${{steps.input.outputs.filelist || inputs.fileList}}
spellcheck:
name: Check Spelling
runs-on: ubuntu-latest
needs: get
steps:
- name: Check out repo.
uses: actions/checkout@v3
- name: Run spellchecker.
uses: rojopolis/[email protected]
with:
source_files: ${{needs.get.outputs.filelist}}
task_name: Markdown
proselint:
name: Check prose
runs-on: ubuntu-latest
needs: get
steps:
- name: Check out repo.
uses: actions/checkout@v3
- name: Install dependencies
run: pip install proselint
- name: Run proselint
run: |
shopt -s globstar extglob
python3 checks/run_proselint.py ${{needs.get.outputs.filelist}}
mdlint:
name: Check Markdown
runs-on: ubuntu-latest
needs: get
steps:
- name: Check out repo.
uses: actions/checkout@v3
- name: Install dependencies
run: npm install -g markdownlint-cli
- name: Run markdownlint
run: |
shopt -s globstar extglob
markdownlint --config .markdownlint.json --json ${{needs.get.outputs.filelist}} 2>&1 | checks/parse_markdownlint.py
metacheck:
name: Check page meta
runs-on: ubuntu-latest
needs: get
steps:
- name: Check out repo.
uses: actions/checkout@v3
- name: Check markdown meta.
run: |
shopt -s globstar extglob
python3 checks/run_meta_check.py ${{needs.get.outputs.filelist}}
testBuild:
name: Test build
runs-on: ubuntu-latest
needs: get
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: pip install -r requirements.txt
- run: mkdocs -v build
# 2>&1 | awk -F " - " '{gsub(/ /, "", $1);gsub(/INFO/, "notice", $1); printf("::%s::%s\n",$1,$2) }'