Update doc.yml #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Sphinx: Render 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 # Add any other dependencies if needed | |
- name: Render documentation from ttl | |
run: python sphinx/ttl_to_rst.py | |
- name: Build HTML | |
uses: ammaraskar/sphinx-action@master | |
with: | |
docs-folder: "sphinx/" | |
pre-build-command: "apt-get update -y; apt-get install -y pandoc" | |
- name: Create context file from ttl | |
run: python sphinx/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/version/" ]; then | |
echo "Creating HTML versions directory" | |
sudo mkdir -p docs/_build/html/version/ | |
else | |
echo "HTML version directory already exists" | |
fi | |
- name: Copy context file to HTML directory | |
run: sudo cp context/context.json sphinx/_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/version/$TAG" | |
sudo cp "battery.ttl" "docs/_build/html/version/$TAG/" | |
sudo cp "battery-inferred.ttl" "docs/_build/html/version/$TAG/" | |
sudo cp "batteryquantities.ttl" "docs/_build/html/version/$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/version/$TAG/context" | |
# Copy context.json to the tag-specific context directory | |
sudo cp "context/context.json" "docs/_build/html/version/$TAG/context" | |
else | |
echo "No context directory found in the source directory." | |
fi | |
done | |
- name: Copy TTL files to HTML directory | |
run: | | |
sudo cp "battery.ttl" "docs/_build/html/battery.ttl" | |
sudo cp "batteryquantities.ttl" "docs/_build/html/batteryquantities.ttl" | |
sudo cp "battery-inferred.ttl" "docs/_build/html/battery-inferred.ttl" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentationHTML | |
path: sphinx/_build/html/ | |
- name: Deploy | |
uses: peaceiris/actions-gh-pages@v3 | |
if: github.ref == 'refs/heads/master' | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: sphinx/_build/html | |