Skip to content

[CI/CD] Build Docs #4463

[CI/CD] Build Docs

[CI/CD] Build Docs #4463

Workflow file for this run

---
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
name: "[CI/CD] Build Docs"
run-name: "[CI/CD] Build Docs"
on: # yamllint disable-line rule:truthy
pull_request:
branches:
- main
- release-*
workflow_dispatch: {}
permissions:
contents: read # needed for actions/checkout
jobs:
filter:
name: "Filter Changed Documentation Paths"
runs-on: ubuntu-latest
outputs:
toplevel_changed: ${{ steps.filter.outputs.toplevel }}
autocalibration_changed: ${{ steps.filter.outputs.autocalibration }}
controller_changed: ${{ steps.filter.outputs.controller }}
cluster_analytics_changed: ${{ steps.filter.outputs.cluster_analytics }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set paths filter
id: filter
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
filters: |
toplevel:
- 'docs/**'
autocalibration:
- 'autocalibration/docs/**'
controller:
- 'controller/docs/**'
cluster_analytics:
- 'cluster_analytics/docs/**'
build_toplevel:
name: "Build Toplevel Documentation"
needs: filter
if: ${{ needs.filter.outputs.toplevel_changed == 'true' }}
uses: ./.github/workflows/build-documentation.yml
secrets:
SYS_EMF_GH_TOKEN: ${{ secrets.SYS_EMF_GH_TOKEN }}
DOC_AWS_ACCESS_KEY_ID: ${{ secrets.DOC_AWS_ACCESS_KEY_ID }}
DOC_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOC_AWS_SECRET_ACCESS_KEY }}
with:
exclude_patterns: "README.md, adr, design, development"
build_autocalibration:
name: "Build AutoCalibration Documentation"
needs: filter
if: ${{ needs.filter.outputs.autocalibration_changed == 'true' }}
uses: ./.github/workflows/build-documentation.yml
secrets:
SYS_EMF_GH_TOKEN: ${{ secrets.SYS_EMF_GH_TOKEN }}
DOC_AWS_ACCESS_KEY_ID: ${{ secrets.DOC_AWS_ACCESS_KEY_ID }}
DOC_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOC_AWS_SECRET_ACCESS_KEY }}
with:
docs_directory: autocalibration
build_controller:
name: "Build Controller Documentation"
needs: filter
if: ${{ needs.filter.outputs.controller_changed == 'true' }}
uses: ./.github/workflows/build-documentation.yml
secrets:
SYS_EMF_GH_TOKEN: ${{ secrets.SYS_EMF_GH_TOKEN }}
DOC_AWS_ACCESS_KEY_ID: ${{ secrets.DOC_AWS_ACCESS_KEY_ID }}
DOC_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOC_AWS_SECRET_ACCESS_KEY }}
with:
docs_directory: controller
build_status:
name: "Documentation Build Status"
runs-on: ubuntu-latest
if: always()
needs:
- filter
- build_toplevel
- build_autocalibration
- build_controller
steps:
- name: "Set documentation build status"
run: |
if [[ "${{ needs.filter.result }}" != "success" && "${{ needs.filter.result }}" != "skipped" ]] || \
[[ "${{ needs.build_toplevel.result }}" != "success" && "${{ needs.build_toplevel.result }}" != "skipped" ]] || \
[[ "${{ needs.build_autocalibration.result }}" != "success" && "${{ needs.build_autocalibration.result }}" != "skipped" ]] || \
[[ "${{ needs.build_controller.result }}" != "success" && "${{ needs.build_controller.result }}" != "skipped" ]]; then
echo "One or more jobs failed"
exit 1
else
echo "All jobs succeeded or were skipped"
exit 0
fi