From f9d9a96ec50f3d94d121663af9ef7509c00255ac Mon Sep 17 00:00:00 2001 From: Andreas Heinrich Date: Thu, 28 Nov 2024 15:10:54 +0100 Subject: [PATCH 1/4] add doxygen to build-env Signed-off-by: Andreas Heinrich --- docker/images/build-env-base/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/images/build-env-base/Dockerfile b/docker/images/build-env-base/Dockerfile index d9e5ebb..f17103c 100644 --- a/docker/images/build-env-base/Dockerfile +++ b/docker/images/build-env-base/Dockerfile @@ -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 \ @@ -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 \ From 1d1c89ba1ada9b4cfc9ae07f55f02a32cd818d21 Mon Sep 17 00:00:00 2001 From: Andreas Heinrich Date: Thu, 28 Nov 2024 15:48:25 +0100 Subject: [PATCH 2/4] add option to set build-kit base tag Signed-off-by: Andreas Heinrich --- .github/workflows/continuous_integration.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 73022b0..137521d 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -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' @@ -249,6 +254,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: From 86ad815889b9cc35da2699bf6119126f7c5d6987 Mon Sep 17 00:00:00 2001 From: Andreas Heinrich Date: Thu, 28 Nov 2024 15:48:42 +0100 Subject: [PATCH 3/4] add action to deploy doxygen docs Signed-off-by: Andreas Heinrich --- .../deploy-doxygen-docs/action.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 github-actions/deploy-doxygen-docs/action.yaml diff --git a/github-actions/deploy-doxygen-docs/action.yaml b/github-actions/deploy-doxygen-docs/action.yaml new file mode 100644 index 0000000..4a58487 --- /dev/null +++ b/github-actions/deploy-doxygen-docs/action.yaml @@ -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 "compiler@pionix.de" + git config --global user.name "Github Service Account" + - name: Checkout target repository + uses: actions/checkout@v4.2.2 + 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 From 2de7667c719f5c676ce45f79794aa17bdd6db6a3 Mon Sep 17 00:00:00 2001 From: Andreas Heinrich Date: Thu, 28 Nov 2024 17:02:43 +0100 Subject: [PATCH 4/4] add output everest-ci sha Signed-off-by: Andreas Heinrich --- .github/workflows/continuous_integration.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 137521d..84a9ae1 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -182,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: