Files
rt-thread/.github/workflows/doxygen.yml
Chen Wang d58958e397 doxygen: support 1.9.8
The current test environment is mainly based on Ubuntu
22.04 LTS and doxygen version is 1.9.1.
But when we switch to Ubuntu 24.04, the default Doxygen
version on Ubuntu 24.04 is 1.9.8.
The supported configuration and layout file formats
differ from those in 1.9.1 (Ubuntu 22.04).
In particular, the layout XML file format of 1.9.8 is
incompatible with the older format(1.9.1). Therefore,
to support Doxygen on Ubuntu 24.04, we need to load
different configuration and layout files. (The layout
file is specified using the LAYOUT_FILE parameter in
the configuration file.)

Solution: Provide corresponding configuration and layout
files for different Doxygen versions, distinguished by
the Doxygen version number.

Currently, only Doxygen versions 1.9.1 and above are supported.
If the doxygen version is >= 1.9.1 but < 1.9.8, the 1.9.1
configuration and layout are used by default. If the doxygen
version is >= 1.9.8, the 1.9.8 configuration and layout are used.

Only 1.9.1 and 1.9.8 have been tested, as these are the
default doxygen versions on Ubuntu 22.04 LTS and Ubuntu
24.04. Other versions have not been tested yet. If
necessary, we will change the configuration based on
the same approach in the future.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-10 20:19:05 +08:00

81 lines
2.1 KiB
YAML

name: doc_doxygen
on:
pull_request:
branches:
- master
paths:
- 'documentation/**'
- 'src/**'
- 'include/**'
- 'components/finsh/**'
- 'components/drivers/include/drivers/**'
- 'components/drivers/clk/**'
- 'components/drivers/audio/**'
- 'components/dfs/dfs_v2/src/**'
- 'components/dfs/dfs_v2/include/**'
- '.github/workflows/doxygen.yml'
# Runs at 16:00 UTC (BeiJing 00:00) on the 30st of every month
push:
branches: [master]
paths:
- 'documentation/**'
- 'src/**'
- 'include/**'
- 'components/finsh/**'
- 'components/drivers/include/drivers/**'
- 'components/drivers/clk/**'
- 'components/drivers/audio/**'
- 'components/dfs/dfs_v2/src/**'
- 'components/dfs/dfs_v2/include/**'
- '.github/workflows/doxygen.yml'
schedule:
- cron: '0 16 30 * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-22.04
name: doxygen_doc generate
if: github.repository_owner == 'RT-Thread'
steps:
- uses: actions/checkout@main
with:
submodules: 'recursive'
- name: Install Tools
shell: bash
run: |
sudo apt-get update
sudo apt-get -qq install doxygen graphviz
- name: generate doxygen html
shell: bash
run: |
cd documentation
doxygen Doxyfile.1.9.1
cat Doxyfile.1.9.1
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@main # or specific "vX.X.X" version tag for this action
with:
path: documentation/html/
deploy:
if: github.event_name == 'push'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-22.04
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@main