Skip to content

Commit

Permalink
Add Doxygen (#74)
Browse files Browse the repository at this point in the history
* add doxygen to build-env

Signed-off-by: Andreas Heinrich <[email protected]>

* add option to set build-kit base tag

Signed-off-by: Andreas Heinrich <[email protected]>

* add action to deploy doxygen docs

Signed-off-by: Andreas Heinrich <[email protected]>

* add output everest-ci sha

Signed-off-by: Andreas Heinrich <[email protected]>

---------

Signed-off-by: Andreas Heinrich <[email protected]>
  • Loading branch information
andistorm authored Dec 4, 2024
1 parent b311bc1 commit 9552506
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 1 deletion.
15 changes: 15 additions & 0 deletions .github/workflows/continuous_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@ on:
required: false
default: '.ci/build-kit/scripts'
type: string
build_kit_base_image_tag:
description: 'The tag of the base image to use for the build kit'
required: false
default: ''
type: string
# Build inputs
ctest_report_path:
description: 'The path to the ctest report, relative to the github workspace'
Expand Down Expand Up @@ -177,6 +182,10 @@ on:
coverage_deploy_token:
description: 'The token to use to deploy the coverage report'
required: true
outputs:
sha_everest_ci:
description: 'The sha of the everest-ci repository'
value: ${{ jobs.setup-env.outputs.sha_everest_ci }}

jobs:
lint:
Expand Down Expand Up @@ -249,6 +258,12 @@ jobs:
exit 1
fi
# if inputs.build_kit_base_image_tag is != "", use it as the tag
if [ -n "${{ inputs.build_kit_base_image_tag }}" ]; then
echo "Using inputs.build_kit_base_image_tag as tag"
TAG="${{ inputs.build_kit_base_image_tag }}"
fi
echo "latest_tag=$TAG" >> $GITHUB_OUTPUT
build-the-build-kit:
Expand Down
6 changes: 5 additions & 1 deletion docker/images/build-env-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ ENV LCOV_VERSION=1.16-1
ENV CLANG_FORMAT_VERSION=1:15.0.6-4+b1
# renovate: datasource=repology depName=debian_12/clang-tidy versioning=loose
ENV CLANG_TIDY_VERSION=1:15.0.6-4+b1
# renovate: datasource=repology depName=debian_12/doxygen versioning=loose
ENV DOXYGEN_VERSION=1.9.4-4

RUN apt update \
&& apt install --no-install-recommends -y \
Expand All @@ -47,7 +49,9 @@ RUN apt update \
ccache=${CCACHE_VERSION} \
lcov=${LCOV_VERSION} \
clang-format-15=${CLANG_FORMAT_VERSION} \
clang-tidy-15=${CLANG_TIDY_VERSION}
clang-tidy-15=${CLANG_TIDY_VERSION} \
# documentation
doxygen=${DOXYGEN_VERSION}

# Create symlinks for clang-format and clang-tidy
RUN ln -s /usr/bin/clang-format-15 /usr/bin/clang-format \
Expand Down
59 changes: 59 additions & 0 deletions github-actions/deploy-doxygen-docs/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: 'Deploy Doxygen Docs'
description: 'Deploy Doxygen Docs to a github pages repository'
inputs:
target_repo:
description: 'Repository to deploy docs to'
required: true
github_token:
description: 'Github token, with write access to the target repository'
required: true
source_repo:
description: 'Repository to deploy docs from'
required: true
default: ${{ github.repository }}
workflow_run_id:
description: 'Workflow run id to deploy docs from'
required: true
default: ${{ github.run_id }}
docs_directory:
description: 'Directory or containing the docs to deploy'
required: true
outputs:
deployed_path:
description: 'Path to the deployed docs'
value: ${{ steps.determine_target_path.outputs.target_path }}
runs:
using: "composite"
steps:
- name: Configure git
shell: bash
run: |
git config --global user.email "[email protected]"
git config --global user.name "Github Service Account"
- name: Checkout target repository
uses: actions/[email protected]
with:
repository: ${{ inputs.target_repo }}
path: gh-pages-repo
token: ${{ inputs.github_token }}
ref: main
- name: Determine target path
id: determine_target_path
shell: bash
run: |
target_path="doxygen-docs/${{ inputs.source_repo }}"
echo "target_path=$target_path" >> $GITHUB_OUTPUT
- name: Copy Docs
shell: bash
run: |
mkdir -p gh-pages-repo/docs/${{ steps.determine_target_path.outputs.target_path }}
rm -rf gh-pages-repo/docs/${{ steps.determine_target_path.outputs.target_path }}/*
cp -r ${{ inputs.docs_directory }}/* gh-pages-repo/docs/${{ steps.determine_target_path.outputs.target_path }}
- name: Commit and push logs
shell: bash
run: |
git add docs/${{ steps.determine_target_path.outputs.target_path }}
commit_message="Deploy doxygen docs and remove old docs: ${{ inputs.source_repo }}/${{ inputs.artifact_name }}"
git diff-index --quiet HEAD || git commit -m "$commit_message"
git push
working-directory: gh-pages-repo

0 comments on commit 9552506

Please sign in to comment.