name: Release Documentation 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 jobs: release-documentation: name: Build and Upload Release Documentation runs-on: ubuntu-latest env: upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }} steps: - name: Checkout LLVM uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Setup Python env uses: actions/setup-python@v4 with: cache: 'pip' cache-dependency-path: './llvm/docs/requirements.txt' - name: Install Dependencies run: | sudo apt-get update sudo apt-get install -y \ graphviz \ python3-github \ ninja-build \ texlive-font-utils pip3 install --user -r ./llvm/docs/requirements.txt - name: Build Documentation env: GITHUB_TOKEN: ${{ github.token }} run: | ./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-doxygen - name: Create Release Notes Artifact uses: actions/upload-artifact@v3 with: name: release-notes path: docs-build/html-export/ - name: Clone www-releases if: env.upload uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: repository: ${{ github.repository_owner }}/www-releases ref: main fetch-depth: 0 path: www-releases - name: Upload Release Notes if: env.upload env: WWW_RELEASES_TOKEN: ${{ secrets.WWW_RELEASES_TOKEN }} run: | mkdir -p ../www-releases/${{ inputs.release-version }} mv ./docs-build/html-export/* ../www-releases/${{ inputs.release-version }} cd ../www-releases git add ${{ inputs.release-version }} git config user.email "llvmbot@llvm.org" git config user.name "llvmbot" git commit -a -m "Add ${{ inputs.release-version }} documentation" git push "https://$WWW_RELEASES_TOKEN@github.com/${{ github.repository_owner }}/www-releases" main:main