Skip to content

Doxygen

Doxygen #1407

Workflow file for this run

name: Doxygen
# Builds and deploys Storm's Doxygen documentation
on:
schedule:
# run daily
- cron: '0 8 * * *'
# needed to trigger the workflow manually
workflow_dispatch:
env:
# GitHub runners currently have 4 cores
NR_JOBS: "4"
jobs:
deploy:
name: Create documentation
runs-on: ubuntu-latest
# Do not run on forks
if: github.repository_owner == 'moves-rwth'
steps:
- name: Git clone
uses: actions/checkout@v4
- name: Build Doxygen via Dockerfile
run: docker build -t movesrwth/storm-doc:latest -f .github/workflows/Dockerfile.doxygen . --build-arg no_threads=${NR_JOBS}
- name: Run Docker
run: docker run -d -it --name ci movesrwth/storm-doc:latest
- name: Copy doxygen
run: docker cp ci:/opt/storm/build/doc/html .
- name: Deploy doxygen
uses: peaceiris/actions-gh-pages@v4
with:
deploy_key: ${{ secrets.DOC_DEPLOY_KEY }}
publish_dir: ./html
external_repository: moves-rwth/storm-doc
publish_branch: master
force_orphan: true
notify:
name: Email notification
runs-on: ubuntu-latest
needs: [deploy]
# Only run in main repo and even if previous step failed
if: github.repository_owner == 'moves-rwth' && always()
steps:
- uses: technote-space/workflow-conclusion-action@v3
- uses: dawidd6/action-send-mail@v4
with:
server_address: ${{ secrets.STORM_CI_MAIL_SERVER }}
server_port: 587
username: ${{ secrets.STORM_CI_MAIL_USERNAME }}
password: ${{ secrets.STORM_CI_MAIL_PASSWORD }}
subject: "[You broke it] Doxygen generation failed for ${{ github.repository }}"
body:
"CI job of ${{ github.repository }} has failed for commit ${{ github.sha }}.\n\
The error type is: ${{ env.WORKFLOW_CONCLUSION }}.\n\n\
For more information, see https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
to: ${{ secrets.STORM_CI_MAIL_RECIPIENTS }}
from: Github Actions <[email protected]>
if: env.WORKFLOW_CONCLUSION != 'success' # notify only if failure