brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 043a3f1 Raw
96 lines · yaml
1name: Release Documentation2 3permissions:4  contents: read5 6on:7  workflow_dispatch:8    inputs:9      release-version:10        description: 'Release Version'11        required: true12        type: string13      upload:14        description: 'Upload documentation'15        required: false16        type: boolean17 18  workflow_call:19    inputs:20      release-version:21        description: 'Release Version'22        required: true23        type: string24      upload:25        description: 'Upload documentation'26        required: false27        type: boolean28    secrets:29      WWW_RELEASES_TOKEN:30        description: "Secret used to create a PR with the documentation changes."31        required: false32 33jobs:34  release-documentation:35    name: Build and Upload Release Documentation36    runs-on: ubuntu-24.0437    env:38      upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }}39    steps:40      - name: Checkout LLVM41        uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.042 43      - name: Setup Python env44        uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.045        with:46          cache: 'pip'47          cache-dependency-path: './llvm/docs/requirements.txt'48 49      - name: Install Dependencies50        run: |51          sudo apt-get update52          sudo apt-get install -y \53              graphviz \54              python3-github \55              ninja-build \56              texlive-font-utils57          pip3 install --user -r ./llvm/docs/requirements.txt58 59      - name: Build Documentation60        env:61          GITHUB_TOKEN: ${{ github.token }}62        run: |63          ./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-doxygen64 65      - name: Create Release Notes Artifact66        uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.067        with:68          name: release-notes69          path: docs-build/html-export/70 71      - name: Clone www-releases72        if: env.upload73        uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.074        with:75          repository: ${{ github.repository_owner }}/www-releases76          ref: main77          fetch-depth: 078          path: www-releases79          persist-credentials: false80 81      - name: Upload Release Notes82        if: env.upload83        env:84          GH_TOKEN: ${{ secrets.WWW_RELEASES_TOKEN }}85        run: |86          mkdir -p www-releases/${{ inputs.release-version }}87          mv ./docs-build/html-export/* www-releases/${{ inputs.release-version }}88          cd www-releases89          git checkout -b ${{ inputs.release-version }}90          git add ${{ inputs.release-version }}91          git config user.email "llvmbot@llvm.org"92          git config user.name "llvmbot"93          git commit -a -m "Add ${{ inputs.release-version }} documentation"94          git push --force  "https://$GH_TOKEN@github.com/llvmbot/www-releases.git" HEAD:refs/heads/${{ inputs.release-version }}95          gh pr create -f -B main -H ${{ inputs.release-version }} -R llvmbot/www-releases96