-
Notifications
You must be signed in to change notification settings - Fork 3
130 lines (104 loc) · 4.59 KB
/
doc.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: "docs"
on:
push:
branches:
- 'master'
env:
GIT_USER_NAME: BattINFO Developers
GIT_USER_EMAIL: "[email protected]"
jobs:
updatepages:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4 #Uses python install action from here: https://github.com/marketplace?type=actions
with:
python-version: '3.10' # Replace with the desired Python version
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install Markdown==3.4.3 rdflib==6.3.2 pandoc # Add any other dependencies if needed
- name: Render documentation from ttl
run: python docs/scripts/ttl_to_rst.py
- name: Build HTML
uses: ammaraskar/sphinx-action@master
with:
docs-folder: "docs/"
pre-build-command: "apt-get update -y; apt-get install -y pandoc"
- name: Create context file from ttl
run: python docs/scripts/ttl_to_context.py
- name: Check if HTML context directory exists
run: |
if [ ! -d "docs/_build/html/context/" ]; then
echo "Creating HTML context directory"
sudo mkdir -p docs/_build/html/context/
else
echo "HTML context directory already exists"
fi
if [ ! -d "docs/_build/html/assets/" ]; then
echo "Creating HTML context directory"
sudo mkdir -p docs/_build/html/assets/
else
echo "HTML assets directory already exists"
fi
if [ ! -d "docs/_build/html/versions/" ]; then
echo "Creating HTML versions directory"
sudo mkdir -p docs/_build/html/versions/
else
echo "HTML version directory already exists"
fi
- name: Copy assets directory to HTML directory
run: sudo cp -r docs/assets/* docs/_build/html/assets/
- name: Copy context file to HTML directory
run: sudo cp context/context.json docs/_build/html/context/
- name: Commit changes
run: |
git config --local user.email "${{ env.GIT_USER_EMAIL }}"
git config --local user.name "${{ env.GIT_USER_NAME }}"
git add context/context.json
# Check for any changes to commit
git diff --staged --quiet || git commit -m "Update context.json file"
- name: Push changes
run: git push origin HEAD:master
- name: Fetch all tags and create version directories
run: |
git fetch --tags
git tag | while read TAG; do
sudo mkdir -p "docs/_build/html/versions/$TAG"
python docs/scripts/apply_foops_recommendations.py electrochemistry.ttl electrochemistry-foops.ttl
python docs/scripts/apply_foops_recommendations.py electrochemicalquantities.ttl electrochemicalquantities-foops.ttl
sudo cp "electrochemistry-foops.ttl" "docs/_build/html/versions/$TAG/electrochemistry.ttl"
sudo cp "electrochemicalquantities-foops.ttl" "docs/_build/html/versions/$TAG/electrochemicalquantities.ttl"
sudo cp "electrochemistry-inferred.ttl" "docs/_build/html/versions/$TAG/"
if [ -d "context" ]; then
echo "Context directory exists, copying context.json to $TAG"
# Make sure the context directory exists in the version-specific directory
sudo mkdir -p "docs/_build/html/versions/$TAG/context"
# Copy context.json to the tag-specific context directory
sudo cp "context/context.json" "docs/_build/html/versions/$TAG/context"
else
echo "No context directory found in the source directory."
fi
done
- name: Copy TTL files to HTML directory
run: |
python docs/scripts/apply_foops_recommendations.py electrochemistry.ttl electrochemistry-foops.ttl
python docs/scripts/apply_foops_recommendations.py electrochemicalquantities.ttl electrochemicalquantities-foops.ttl
sudo cp "electrochemistry-foops.ttl" "docs/_build/html/electrochemistry.ttl"
sudo cp "electrochemicalquantities-foops.ttl" "docs/_build/html/electrochemicalquantities.ttl"
sudo cp "electrochemistry-inferred.ttl" "docs/_build/html/electrochemistry-inferred.ttl"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: documentationHTML
path: docs/_build/html/
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/master'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/_build/html