name: Release Doxygen permissions: contents: read on: workflow_dispatch: inputs: release-version: description: 'Release Version' required: true type: string upload: description: 'Upload documentation' required: false type: boolean workflow_call: inputs: release-version: description: 'Release Version' required: true type: string upload: description: 'Upload documentation' required: false type: boolean secrets: RELEASE_TASKS_USER_TOKEN: description: "Secret used to check user permissions." required: false jobs: release-doxygen: name: Build and Upload Release Doxygen runs-on: ubuntu-24.04 permissions: contents: write env: upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }} steps: - name: Checkout LLVM uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup Python env uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 with: cache: 'pip' cache-dependency-path: './llvm/docs/requirements.txt' - name: Install Dependencies run: | sudo apt-get update sudo apt-get install -y \ doxygen \ graphviz \ python3-github \ ninja-build \ texlive-font-utils pip3 install --user -r ./llvm/docs/requirements.txt - name: Build Doxygen run: | ./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-sphinx - name: Upload Doxygen if: env.upload env: GITHUB_TOKEN: ${{ github.token }} USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }} run: | ./llvm/utils/release/github-upload-release.py --token "$GITHUB_TOKEN" --release "${{ inputs.release-version }}" --user "${{ github.actor }}" --user-token "$USER_TOKEN" upload --files ./*doxygen*.tar.xz