Doxygen #1402
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: 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@v3 | |
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 |