Skip to content

Commit 3a9fab4

Browse files
committed
chore: attempt to lint Python files
1 parent 6bbf218 commit 3a9fab4

File tree

2 files changed

+53
-17
lines changed

2 files changed

+53
-17
lines changed

.github/workflows/test.yaml

Lines changed: 47 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ on:
77

88
jobs:
99
build:
10-
name: Docs build
10+
name: Docs Build
1111
runs-on: ubuntu-latest
1212
steps:
13-
- name: Checkout Source code
13+
- name: Checkout Source Code
1414
uses: actions/checkout@v5
1515

1616
- name: Use Node.js 22
@@ -21,7 +21,7 @@ jobs:
2121
cache-dependency-path: 'package-lock.json'
2222
always-auth: 'true'
2323

24-
- name: Enable corepack
24+
- name: Enable Corepack
2525
run: |
2626
corepack enable
2727
@@ -40,13 +40,13 @@ jobs:
4040
sudo apt-get update
4141
sudo apt-get install -y nginx
4242
43-
- name: Start Docusaurus server
43+
- name: Start Docusaurus Server
4444
run: |
4545
nohup npx docusaurus serve --port 3000 --no-open &
4646
sleep 5
4747
curl -f http://localhost:3000 > /dev/null
4848
49-
- name: Start Nginx with project config
49+
- name: Start Nginx with Project Config
5050
run: |
5151
cat > default.conf <<EOF
5252
worker_processes auto;
@@ -63,7 +63,7 @@ jobs:
6363
nginx -c $(pwd)/default.conf
6464
sleep 1
6565
66-
- name: Run header assertions
66+
- name: Run Header Assertions
6767
run: |
6868
set -euo pipefail
6969
function assert_header() {
@@ -96,13 +96,13 @@ jobs:
9696
run: nginx -c $(pwd)/default.conf -s stop
9797

9898
lint_content:
99-
name: Lint markdown content
99+
name: Lint Markdown Content
100100
runs-on: ubuntu-latest
101101
steps:
102-
- name: Checkout Source code
102+
- name: Checkout Source Code
103103
uses: actions/checkout@v5
104104

105-
- name: Get changed files
105+
- name: Get Changed Files
106106
id: changed-files
107107
uses: tj-actions/changed-files@v47
108108
with:
@@ -117,7 +117,7 @@ jobs:
117117
cache: 'npm'
118118
cache-dependency-path: 'package-lock.json'
119119

120-
- name: Enable corepack
120+
- name: Enable Corepack
121121
run: |
122122
corepack enable
123123
@@ -136,11 +136,11 @@ jobs:
136136
done
137137
138138
139-
lint_code:
140-
name: Lint app code
139+
lint_code_js:
140+
name: Lint JavaScript Code
141141
runs-on: ubuntu-latest
142142
steps:
143-
- name: Checkout Source code
143+
- name: Checkout Source Code
144144
uses: actions/checkout@v5
145145

146146
- name: Use Node.js 22
@@ -150,7 +150,7 @@ jobs:
150150
cache: 'npm'
151151
cache-dependency-path: 'package-lock.json'
152152

153-
- name: Enable corepack
153+
- name: Enable Corepack
154154
run: |
155155
corepack enable
156156
@@ -159,4 +159,36 @@ jobs:
159159
env:
160160
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
161161

162-
- run: npm run lint:code
162+
- run: npm run lint:code:js
163+
164+
165+
lint_code_py:
166+
name: Lint Python Code
167+
runs-on: ubuntu-latest
168+
steps:
169+
- name: Checkout Source Code
170+
uses: actions/checkout@v5
171+
172+
- name: Get Changed Files
173+
id: changed-files
174+
uses: tj-actions/changed-files@v47
175+
with:
176+
files: '**/*.{md,mdx}'
177+
files_ignore: '!sources/api/*.{md,mdx}'
178+
separator: ","
179+
180+
- name: Get uv
181+
uses: astral-sh/setup-uv@v7
182+
183+
- name: List and Lint Changed Files
184+
env:
185+
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
186+
run: |
187+
IFS=',' read -ra FILE_ARRAY <<< "$ALL_CHANGED_FILES"
188+
for file in "${FILE_ARRAY[@]}"; do
189+
uv run --with doccmd --with ruff doccmd --language=py --language=python --command=\"ruff check --quiet\" "$file"
190+
done
191+
192+
# TODO:
193+
# - once we fix existing issues, switch to checking the whole sources/ directory
194+
- run: npm run lint:code:py

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,12 @@
3838
"lint:fix": "npm run lint:md:fix && npm run lint:code:fix",
3939
"lint:md": "markdownlint '**/*.md'",
4040
"lint:md:fix": "markdownlint '**/*.md' --fix",
41-
"lint:code": "eslint .",
42-
"lint:code:fix": "eslint . --fix",
41+
"lint:code": "npm run lint:code:js && npm run lint:code:py",
42+
"lint:code:fix": "npm run lint:code:js:fix && npm run lint:code:py:fix",
43+
"lint:code:js": "eslint .",
44+
"lint:code:js:fix": "eslint . --fix",
45+
"lint:code:py": "uv run --with doccmd --with ruff doccmd --language=py --command=\"ruff check --quiet\" .",
46+
"lint:code:py:fix": "uv run --with doccmd --with ruff doccmd --language=py --command=\"ruff check --quiet --fix\" ./sources",
4347
"postinstall": "patch-package",
4448
"postbuild": "node ./scripts/joinLlmsFiles.mjs && node ./scripts/indentLlmsFile.mjs"
4549
},

0 commit comments

Comments
 (0)