# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0

name: Documentation Build

on:
  schedule:
  - cron: '0 */3 * * *'
  push:
    tags:
    - v*
  pull_request:

env:
  # NOTE: west docstrings will be extracted from the version listed here
  WEST_VERSION: 1.2.0
  # The latest CMake available directly with apt is 3.18, but we need >=3.20
  # so we fetch that through pip.
  CMAKE_VERSION: 3.20.5
  DOXYGEN_VERSION: 1.12.0
  # Job count is set to 2 less than the vCPU count of 16 because the total available RAM is 32GiB
  # and each sphinx-build process may use more than 2GiB of RAM.
  JOB_COUNT: 14

jobs:
  doc-file-check:
    name: Check for doc changes
    runs-on: ubuntu-22.04
    if: >
      github.repository_owner == 'zephyrproject-rtos'
    outputs:
      file_check: ${{ steps.check-doc-files.outputs.any_modified }}
    steps:
    - name: checkout
      uses: actions/checkout@v4
      with:
        ref: ${{ github.event.pull_request.head.sha }}
        fetch-depth: 0
    - name: Check if Documentation related files changed
      uses: tj-actions/changed-files@v45
      id: check-doc-files
      with:
        files: |
          doc/
          boards/**/doc/
          **.rst
          include/
          kernel/include/kernel_arch_interface.h
          lib/libc/**
          subsys/testsuite/ztest/include/**
          tests/
          **/Kconfig*
          west.yml
          scripts/dts/
          doc/requirements.txt
          .github/workflows/doc-build.yml
          scripts/pylib/pytest-twister-harness/src/twister_harness/device/device_adapter.py
          scripts/pylib/pytest-twister-harness/src/twister_harness/helpers/shell.py

  doc-build-html:
    name: "Documentation Build (HTML)"
    needs: [doc-file-check]
    if: >
      github.repository_owner == 'zephyrproject-rtos' &&
        ( needs.doc-file-check.outputs.file_check == 'true' || github.event_name != 'pull_request' )
    runs-on: ubuntu-22.04
    timeout-minutes: 90
    concurrency:
      group: doc-build-html-${{ github.ref }}
      cancel-in-progress: true

    steps:
    - name: install-pkgs
      run: |
        sudo apt-get update
        sudo apt-get install -y wget python3-pip git ninja-build graphviz lcov
        wget --no-verbose "https://github.com/doxygen/doxygen/releases/download/Release_${DOXYGEN_VERSION//./_}/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz"
        sudo tar xf doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz -C /opt
        echo "/opt/doxygen-${DOXYGEN_VERSION}/bin" >> $GITHUB_PATH
        echo "${HOME}/.local/bin" >> $GITHUB_PATH

    - name: checkout
      uses: actions/checkout@v4
      with:
        ref: ${{ github.event.pull_request.head.sha }}
        fetch-depth: 0

    - name: Rebase
      if: github.event_name == 'pull_request'
      continue-on-error: true
      env:
        BASE_REF: ${{ github.base_ref }}
        PR_HEAD: ${{ github.event.pull_request.head.sha }}
      run: |
        git config --global user.email "actions@zephyrproject.org"
        git config --global user.name "Github Actions"
        git rebase origin/${BASE_REF}
        git clean -f -d
        git log --graph --oneline HEAD...${PR_HEAD}

    - name: cache-pip
      uses: actions/cache@v4
      with:
        path: ~/.cache/pip
        key: pip-${{ hashFiles('doc/requirements.txt') }}

    - name: install-pip
      run: |
        sudo pip3 install -U setuptools wheel pip
        pip3 install -r doc/requirements.txt
        pip3 install west==${WEST_VERSION}
        pip3 install cmake==${CMAKE_VERSION}
        pip3 install coverxygen

    - name: west setup
      run: |
        west init -l .

    - name: build-docs
      shell: bash
      run: |
        if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
          DOC_TAG="release"
        else
          DOC_TAG="development"
        fi

        if [[ "${{ github.event_name }}" == "pull_request" ]]; then
          DOC_TARGET="html-fast"
        else
          DOC_TARGET="html"
        fi

        DOC_TAG=${DOC_TAG} \
        SPHINXOPTS="-j ${JOB_COUNT} -W --keep-going -T" \
        SPHINXOPTS_EXTRA="-q -t publish" \
        make -C doc ${DOC_TARGET}

        # API documentation coverage
        python3 -m coverxygen --xml-dir  doc/_build/html/doxygen/xml/ --src-dir include/ --output doc-coverage.info
        # deprecated page causing issues
        lcov --remove doc-coverage.info \*/deprecated > new.info
        genhtml --no-function-coverage --no-branch-coverage new.info -o coverage-report

    - name: compress-docs
      run: |
        tar --use-compress-program="xz -T0" -cf html-output.tar.xz --directory=doc/_build html
        tar --use-compress-program="xz -T0" -cf api-output.tar.xz --directory=doc/_build html/doxygen/html
        tar --use-compress-program="xz -T0" -cf api-coverage.tar.xz coverage-report

    - name: upload-build
      uses: actions/upload-artifact@v4
      with:
        name: html-output
        path: html-output.tar.xz

    - name: upload-api-coverage
      uses: actions/upload-artifact@v4
      with:
        name: api-coverage
        path: api-coverage.tar.xz

    - name: process-pr
      if: github.event_name == 'pull_request'
      run: |
        REPO_NAME="${{ github.event.repository.name }}"
        PR_NUM="${{ github.event.pull_request.number }}"
        DOC_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/docs/"
        API_DOC_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/docs/doxygen/html/"
        API_COVERAGE_URL="https://builds.zephyrproject.io/${REPO_NAME}/pr/${PR_NUM}/api-coverage/"

        echo "${PR_NUM}" > pr_num
        echo "Documentation will be available shortly at: ${DOC_URL}" >> $GITHUB_STEP_SUMMARY
        echo "API Documentation will be available shortly at: ${API_DOC_URL}" >> $GITHUB_STEP_SUMMARY
        echo "API Coverage Report will be available shortly at: ${API_COVERAGE_URL}" >> $GITHUB_STEP_SUMMARY

    - name: upload-pr-number
      uses: actions/upload-artifact@v4
      if: github.event_name == 'pull_request'
      with:
        name: pr_num
        path: pr_num

  doc-build-pdf:
    name: "Documentation Build (PDF)"
    needs: [doc-file-check]
    if: |
      github.event_name != 'pull_request' &&
      github.repository_owner == 'zephyrproject-rtos'
    runs-on: ubuntu-22.04
    container: texlive/texlive:latest
    timeout-minutes: 120
    concurrency:
      group: doc-build-pdf-${{ github.ref }}
      cancel-in-progress: true

    steps:
    - name: Apply container owner mismatch workaround
      run: |
        git config --global --add safe.directory ${GITHUB_WORKSPACE}

    - name: checkout
      uses: actions/checkout@v4

    - name: install-pkgs
      run: |
        apt-get update
        apt-get install -y python3-pip python3-venv ninja-build doxygen graphviz librsvg2-bin imagemagick

    - name: cache-pip
      uses: actions/cache@v4
      with:
        path: ~/.cache/pip
        key: pip-${{ hashFiles('doc/requirements.txt') }}

    - name: setup-venv
      run: |
        python3 -m venv .venv
        . .venv/bin/activate
        echo PATH=$PATH >> $GITHUB_ENV

    - name: install-pip
      run: |
        pip3 install -U setuptools wheel pip
        pip3 install -r doc/requirements.txt
        pip3 install west==${WEST_VERSION}
        pip3 install cmake==${CMAKE_VERSION}

    - name: west setup
      run: |
        west init -l .

    - name: build-docs
      shell: bash
      continue-on-error: true
      run: |
        if [[ "$GITHUB_REF" =~ "refs/tags/v" ]]; then
          DOC_TAG="release"
        else
          DOC_TAG="development"
        fi

        DOC_TAG=${DOC_TAG} \
        SPHINXOPTS="-q -j ${JOB_COUNT}" \
        LATEXMKOPTS="-quiet -halt-on-error" \
        make -C doc pdf

    - name: upload-build
      if: always()
      uses: actions/upload-artifact@v4
      with:
        name: pdf-output
        if-no-files-found: ignore
        path: |
          doc/_build/latex/zephyr.pdf
          doc/_build/latex/zephyr.log

  doc-build-status-check:
    if: always()
    name: "Documentation Build Status"
    needs:
    - doc-build-pdf
    - doc-file-check
    - doc-build-html
    uses: ./.github/workflows/ready-to-merge.yml
    with:
      needs_context: ${{ toJson(needs) }}
