xref: /llvm-project/.github/workflows/release-doxygen.yml (revision 9d81e7e36e33aecdee05fef551c0652abafaa052)
1name: Release Doxygen
2
3permissions:
4  contents: read
5
6on:
7  workflow_dispatch:
8    inputs:
9      release-version:
10        description: 'Release Version'
11        required: true
12        type: string
13      upload:
14        description: 'Upload documentation'
15        required: false
16        type: boolean
17
18  workflow_call:
19    inputs:
20      release-version:
21        description: 'Release Version'
22        required: true
23        type: string
24      upload:
25        description: 'Upload documentation'
26        required: false
27        type: boolean
28    secrets:
29      RELEASE_TASKS_USER_TOKEN:
30        description: "Secret used to check user permissions."
31        required: false
32
33jobs:
34  release-doxygen:
35    name: Build and Upload Release Doxygen
36    runs-on: ubuntu-latest
37    permissions:
38      contents: write
39    env:
40      upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }}
41    steps:
42      - name: Checkout LLVM
43        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
44
45      - name: Setup Python env
46        uses: actions/setup-python@v5
47        with:
48          cache: 'pip'
49          cache-dependency-path: './llvm/docs/requirements.txt'
50
51      - name: Install Dependencies
52        run: |
53          sudo apt-get update
54          sudo apt-get install -y \
55              doxygen \
56              graphviz \
57              python3-github \
58              ninja-build \
59              texlive-font-utils
60          pip3 install --user -r ./llvm/docs/requirements.txt
61
62      - name: Build Doxygen
63        run: |
64          ./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-sphinx
65
66      - name: Upload Doxygen
67        if: env.upload
68        env:
69          GITHUB_TOKEN: ${{ github.token }}
70          USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
71        run: |
72          ./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
73