@@ -99,102 +99,4 @@ jobs:
9999 ./scripts/test.sh
100100 continue-on-error : false
101101
102- documentation :
103- needs : [lint, test]
104- if : github.ref == 'refs/heads/main'
105- runs-on : ubuntu-latest
106- steps :
107- - uses : actions/checkout@v3
108-
109- - name : Install Lua
110- uses : leafo/gh-actions-lua@v9
111- with :
112- luaVersion : " 5.1"
113-
114- - name : Install LuaRocks
115- uses : leafo/gh-actions-luarocks@v4
116-
117- - name : Create cache directories
118- run : mkdir -p ~/.luarocks
119-
120- - name : Cache LuaRocks dependencies
121- uses : actions/cache@v3
122- with :
123- path : ~/.luarocks
124- key : ${{ runner.os }}-luarocks-docs-${{ hashFiles('**/*.rockspec') }}
125- restore-keys : |
126- ${{ runner.os }}-luarocks-docs-
127-
128- - name : Install dependencies for ldoc
129- run : |
130- # Install dependencies required by ldoc
131- sudo apt-get update
132- sudo apt-get install -y lua-discount
133-
134- - name : Install ldoc
135- run : luarocks install ldoc
136-
137- - name : Verify ldoc installation
138- run : |
139- which ldoc || echo "ldoc not found in PATH"
140- ldoc --version || echo "ldoc command failed"
141-
142- - name : Generate API documentation
143- run : |
144- mkdir -p doc/luadoc
145- if [ -f .ldoc.cfg ]; then
146- # Run LDoc with warnings but don't fail on warnings
147- ldoc -v lua/ -d doc/luadoc -c .ldoc.cfg
148- else
149- echo "No .ldoc.cfg found, skipping documentation generation"
150- fi
151-
152- - name : List generated documentation
153- run : ls -la doc/luadoc || echo "No documentation generated"
154-
155- - name : Install markdownlint-cli
156- run : npm install -g markdownlint-cli@0.37.0
157-
158- - name : Run markdownlint
159- run : markdownlint '**/*.md' --config .markdownlint.json || true
160-
161- - name : Link Checker
162- uses : lycheeverse/lychee-action@v1.8.0
163- with :
164- args : --verbose --no-progress '**/*.md'
165- env :
166- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
167-
168- - name : Check Lua code blocks in markdown
169- run : |
170- find . -type f -name "*.md" -exec grep -l '```lua' {} \; | while read -r file; do
171- echo "Checking Lua snippets in $file"
172-
173- # Create a temporary directory for the snippets
174- TEMP_DIR=$(mktemp -d)
175-
176- # Extract Lua code blocks
177- grep -n '^```lua$' "$file" | while read -r line_start; do
178- # Get the line number where the lua block starts
179- line_num=$(echo "$line_start" | cut -d: -f1)
180-
181- # Find the line number where the next ``` appears
182- line_end=$(tail -n +$((line_num+1)) "$file" | grep -n '^```$' | head -1 | cut -d: -f1)
183- if [ -n "$line_end" ]; then
184- line_end=$((line_num + line_end))
185-
186- # Extract the lua snippet
187- snippet_file="${TEMP_DIR}/snippet_${line_num}.lua"
188- sed -n "$((line_num+1)),$((line_end-1))p" "$file" > "$snippet_file"
189-
190- # Check syntax if file is not empty
191- if [ -s "$snippet_file" ]; then
192- echo " Checking snippet starting at line $line_num in $file"
193- luac -p "$snippet_file" || echo "Syntax error in $file at line $line_num"
194- fi
195- fi
196- done
197-
198- # Clean up
199- rm -rf "$TEMP_DIR"
200- done
102+ # Documentation validation has been moved to the dedicated docs.yml workflow
0 commit comments