mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-26 17:18:24 +00:00
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>
81 lines
2.1 KiB
YAML
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 |