Skip to content

Build Doxygen and publish to GitHub pages #677

Build Doxygen and publish to GitHub pages

Build Doxygen and publish to GitHub pages #677

name: Build Doxygen and publish to GitHub pages
on:
schedule:
- cron: "0 5 * * *"
workflow_dispatch:
jobs:
build-doxygen:
name: build_doxygen
runs-on: ubuntu-latest
container:
image: "ghcr.io/dune-daq/nightly-release-alma9:development_v5"
env:
DEV_AREA_NAME: 'dunedaq'
defaults:
run:
shell: bash
steps:
- name: Checkout daq-release
uses: actions/checkout@v6
with:
repository: DUNE-DAQ/daq-release
path: daq-release
- name: Create dbt area
run: |
source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest_v5
date_tag=$(date +%y%m%d)
release_name=NFD_DEV_${date_tag}_A9
cd $GITHUB_WORKSPACE
dbt-create -n $release_name ${{ env.DEV_AREA_NAME }}
cd ${{ env.DEV_AREA_NAME }}
. env.sh
echo "DBT_AREA_ROOT=$(echo $DBT_AREA_ROOT)" >> $GITHUB_ENV
echo "DBT_AREA_ROOT is $DBT_AREA_ROOT"
- name: Checkout packages
run: |
cd $GITHUB_WORKSPACE/daq-release/scripts
./checkout-daq-package.py -i ../configs/coredaq/coredaq-develop/release.yaml -a -o $DBT_AREA_ROOT/sourcecode
./checkout-daq-package.py -i ../configs/fddaq/fddaq-develop/release.yaml -a -o $DBT_AREA_ROOT/sourcecode
# triggeralgs doesn't currently work with --codegen-only build; remove for now
rm -rf $DBT_AREA_ROOT/sourcecode/triggeralgs
- name: Build dbt area
run: |
cd $DBT_AREA_ROOT
. env.sh
spack load dbe || true
dbt-build --codegen-only
- name: Generate Doxyfile
run: |
# Reintroduce triggeralgs so Doxygen will see it
cd $DBT_AREA_ROOT/sourcecode
git clone https://github.com/DUNE-DAQ/triggeralgs.git -b develop
cd $GITHUB_WORKSPACE/daq-release/docs
./doxygen_gen.py
# Edit paths in Doxyfile so they can be seen by the Doxygen action container, which uses /github/workspace
sed -i "s|${DBT_AREA_ROOT}|/github/workspace/${{ env.DEV_AREA_NAME }}|g" Doxyfile
echo "Contents of Doxyfile INPUT:"
- name: Doxygen Action
uses: mattnotmitt/doxygen-action@v1.12.0
with:
working-directory: /github/workspace/daq-release/docs
doxyfile-path: './Doxyfile'
- name: Upload artifacts
uses: actions/upload-pages-artifact@v4
with:
path: ./daq-release/docs/docs/html
deploy_to_github_pages:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
needs: build-doxygen
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Configure GitHub Pages
uses: actions/configure-pages@v5
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4