Skip to content

Commit 9c53bd6

Browse files
authored
Create deploy workflow for Python version and Kroki check
Created a deployment workflow to use Python 3.13.3 and added a health check for the Kroki service before deployment.
1 parent 885036b commit 9c53bd6

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
build_and_deploy:
14+
runs-on: ubuntu-latest
15+
16+
services:
17+
kroki:
18+
image: yuzutech/kroki
19+
env:
20+
KROKI_MERMAID_HOST: mermaid
21+
KROKI_BPMN_HOST: bpmn
22+
KROKI_EXCALIDRAW_HOST: excalidraw
23+
ports:
24+
- 8000:8000
25+
mermaid:
26+
image: yuzutech/kroki-mermaid
27+
bpmn:
28+
image: yuzutech/kroki-bpmn
29+
excalidraw:
30+
image: yuzutech/kroki-excalidraw
31+
32+
steps:
33+
- name: Checkout repository
34+
uses: actions/checkout@v4
35+
36+
- name: Set up Python
37+
uses: actions/setup-python@v5
38+
with:
39+
python-version: '3.13.3'
40+
41+
- name: Set up uv
42+
uses: astral-sh/setup-uv@v1
43+
44+
- name: Cache uv dependencies
45+
uses: actions/cache@v4
46+
with:
47+
path: ~/.cache/uv
48+
key: uv-cache-${{ hashFiles('pyproject.toml', 'uv.lock') }}
49+
restore-keys: |
50+
uv-cache-
51+
52+
- name: Install dependencies with uv
53+
run: uv sync
54+
55+
- name: Wait for Kroki to be ready
56+
run: |
57+
for i in {1..10}; do
58+
if curl -s http://kroki:8000/health | grep -q "UP"; then
59+
echo "Kroki is ready!"
60+
exit 0
61+
fi
62+
echo "Waiting for Kroki..."
63+
sleep 3
64+
done
65+
echo "Kroki did not start in time"
66+
exit 1
67+
68+
- name: Deploy MkDocs site
69+
env:
70+
KROKI_SERVER_URL: http://kroki:8000
71+
run: mkdocs gh-deploy --force

0 commit comments

Comments
 (0)