Workflow file for this run
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
######################################################################### | |
# # | |
# Author: Copyright (C) 2022, 2023 Mark Grant # | |
# # | |
# Released under the GPLv3 only. # | |
# SPDX-License-Identifier: GPL-3.0-only # | |
# # | |
# Purpose: # | |
# Configuration file for GitHub Actions publication of Doxygen # | |
# documentation to Github Pages. Only runs on published release event. # | |
# # | |
######################################################################### | |
name: Publish Doxygen Documentation to Github Pages | |
on: | |
release: | |
types: [released] | |
jobs: | |
version_check: | |
outputs: | |
status: ${{ steps.build.outputs.flag }} | |
runs-on: ubuntu-22.04 | |
steps: | |
# Check-out the repository under $GITHUB_WORKSPACE. | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Get all incl tags, needed for git-enhanced AC_INIT | |
ref: ${{ github.event.release.tag_name }} | |
- name: Fetch latest release | |
id: latest_release | |
uses: CityOfLosAngeles/[email protected] | |
- name: Print versions | |
run: | | |
echo "Latest release is ${{ steps.latest_release.outputs.name }}" | |
echo "This release is ${{ github.event.release.name }}" | |
- name: Flag to build the docs | |
id: build | |
if: steps.latest_release.outputs.name == github.event.release.name | |
run: | | |
echo "This release is the flagged latest release so build." | |
echo "flag=build" >> $GITHUB_OUTPUT | |
- name: Notify no build | |
if: steps.latest_release.outputs.name != github.event.release.name | |
run: | | |
echo "This release is not the flagged latest release so no build." | |
publish-doxygen: | |
runs-on: ubuntu-22.04 | |
needs: version_check | |
if: needs.version_check.outputs.status == 'build' | |
steps: | |
# Check-out the repository under $GITHUB_WORKSPACE. | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Get all incl tags, needed for git-enhanced AC_INIT | |
ref: ${{ github.event.release.tag_name }} | |
- name: Update the package list | |
run: sudo apt-get update | |
- name: Add the extra standard packages | |
run: | | |
sudo apt-get install -y autoconf-archive libtool-bin | |
sudo apt-get install -y doxygen graphviz | |
sudo apt-get install -y libssh-gcrypt-dev libssh-gcrypt-4 | |
- name: Add the extra PPA | |
run: sudo add-apt-repository ppa:m-grant-prg/utils -y | |
- name: Update the package list | |
run: sudo apt-get update | |
- name: Add the PPA packages | |
run: | | |
sudo apt-get install -y libmgec7-dev libmgec7 | |
sudo apt-get install -y libmgesysutils2-dev libmgesysutils2 | |
sudo apt-get install -y txt2manwrap | |
- name: Autoreconf | |
run: autoreconf -if . | |
- name: Configure | |
run: ./configure --enable-silent-rules=yes | |
- name: Make doxygen | |
run: make doxygen | |
- name: Create .nojekyll | |
run: touch docs/doxygen/.nojekyll | |
- name: Deploy to GitHub Pages | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: docs/doxygen | |