Skip to content

Commit 54aba78

Browse files
committed
docs: add MkDocs documentation site and CI example testing
- Reduce README from 370 to ~69 lines as landing page - Create 30+ MkDocs documentation pages (quickstart, usage guides, architecture, Spring Boot, 13 examples, API reference) - Add GitHub Actions workflow for docs deployment to GitHub Pages - Add aggregate runAllExamples Gradle task with per-example timeouts and failure isolation (90s default, 120s for heavy examples) - Add GitHub Actions CI workflow running all 13 examples on push/PR - Configure Spring Boot example with server.port=0 for CI
1 parent 9ac0adb commit 54aba78

36 files changed

Lines changed: 1684 additions & 323 deletions

.github/workflows/ci.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
jobs:
9+
examples:
10+
name: Run Examples
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: '17'
19+
distribution: 'temurin'
20+
21+
- name: Set up Gradle
22+
uses: gradle/actions/setup-gradle@v4
23+
with:
24+
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
25+
26+
- name: Cache Python standalone
27+
uses: actions/cache@v4
28+
with:
29+
path: ~/.python-embed
30+
key: python-standalone-${{ runner.os }}-${{ hashFiles('python-embed-gradle-plugin/src/**') }}
31+
32+
- name: Make gradlew executable
33+
run: chmod +x gradlew
34+
35+
- name: Run all examples
36+
run: ./gradlew :python-embed-examples:runAllExamples
37+
38+
- name: Upload failure logs
39+
if: failure()
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: example-failure-logs
43+
path: |
44+
**/build/reports/
45+
**/hs_err_pid*.log
46+
retention-days: 7

.github/workflows/docs.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
deploy:
13+
name: Deploy to GitHub Pages
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.x'
22+
23+
- name: Install dependencies
24+
run: pip install mkdocs-material
25+
26+
- name: Build docs
27+
run: mkdocs build --strict
28+
29+
- name: Deploy to GitHub Pages
30+
uses: peaceiris/actions-gh-pages@v4
31+
with:
32+
github_token: ${{ secrets.GITHUB_TOKEN }}
33+
publish_dir: ./site

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ __pycache__/
1616
Thumbs.db
1717
*.asc
1818
gradle.properties
19+
site/

0 commit comments

Comments
 (0)