[llvm] Merge doxygen (PR #213379)
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 1 08:53:05 PDT 2026
https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/213379
>From 9369ee2f09a471243d68758c0157614881133ddc Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Tue, 28 Jul 2026 22:48:55 -0700
Subject: [PATCH 01/33] workflows/release-documentation: Rework workflow to
make it testable
Removed the environment declaration from the validation job and split
out the www-releases update into a separate job. This makes it safe
and possible to add a pull_request trigger so we can at least test
building the documentation when someone submits a pull request.
---
.github/workflows/release-documentation.yml | 48 +++++++++++++++------
1 file changed, 34 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index a39d4dba87a5a..6ee08cb48a95f 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -38,6 +38,24 @@ on:
LLVM_TOKEN_GENERATOR_PRIVATE_KEY:
description: "Private key for our GitHub App we use for generating access tokens."
required: true
+ # Run on pull_requests for testing purposes.
+ pull_request:
+ paths:
+ - '.github/workflows/release-documentation.yml'
+ - 'llvm/utils/release/build-docs.sh'
+ types:
+ - opened
+ - synchronize
+ - reopened
+ # When a PR is closed, we still start this workflow, but then skip
+ # all the jobs, which makes it effectively a no-op. The reason to
+ # do this is that it allows us to take advantage of concurrency groups
+ # to cancel in progress CI jobs whenever the PR is closed.
+ - closed
+
+concurrency:
+ group: ${{ github.workflow }}-${{ inputs.release-version || github.event.pull_request.number }}
+ cancel-in-progress: True
jobs:
# This job checks permissions and validates inputs to prevent potential
@@ -47,9 +65,6 @@ jobs:
release-man-pages-validate-input:
name: Release Man Pages Validate Input
runs-on: ubuntu-24.04
- environment:
- name: release
- deployment: false
permissions:
contents: read
steps:
@@ -59,13 +74,6 @@ jobs:
sparse-checkout: |
.github/workflows/
- - name: Check Permissions
- uses: ./.github/workflows/require-team-membership
- with:
- team-slug: llvm-release-managers
- LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
- LLVM_TOKEN_GENERATOR_PRIVATE_KEY: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
-
- name: Validate Input
uses: ./.github/workflows/validate-release-version
with:
@@ -84,8 +92,6 @@ jobs:
man-page-tarball-name: ${{ steps.vars.outputs.man-page-tarball-name }}
man-page-upload: ${{ steps.vars.outputs.man-page-upload }}
man-page-attestation-name: ${{ steps.vars.outputs.man-page-attestation-name }}
- env:
- upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }}
steps:
- name: Collect Variables
id: vars
@@ -155,8 +161,23 @@ jobs:
name: release-notes
path: docs-build/html-export/
+
+ upload-release-notes:
+ name: "Upload Release Notes"
+ runs-on: ubuntu-24.04
+ environment:
+ deployment: false
+ name: release
+ needs:
+ - release-documentation
+ if: >-
+ github.event_name != 'pull_request' &&
+ inputs.upload &&
+ !contains(inputs.release-version, 'rc')
+ permissions:
+ contents: read
+ steps:
- name: Clone www-releases
- if: env.upload
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
repository: ${{ github.repository_owner }}/www-releases
@@ -166,7 +187,6 @@ jobs:
persist-credentials: false
- name: Upload Release Notes
- if: env.upload
env:
PUSH_TOKEN: ${{ secrets.LLVMBOT_WWW_RELEASES_PUSH }}
GH_TOKEN: ${{ secrets.WWW_RELEASES_TOKEN }}
>From e30be37116a56f1f662da236081f7a6f0bef89bf Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 11:18:49 -0700
Subject: [PATCH 02/33] More fixes
---
.github/workflows/release-documentation.yml | 48 +++++++--------------
1 file changed, 15 insertions(+), 33 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 6ee08cb48a95f..34e2ed4537758 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -58,41 +58,25 @@ concurrency:
cancel-in-progress: True
jobs:
- # This job checks permissions and validates inputs to prevent potential
- # malicious actions. Since the release-documentation job has contents: write
- # permissions we need to be extra careful about who can run the job and what
- # inputs can be provided.
- release-man-pages-validate-input:
- name: Release Man Pages Validate Input
- runs-on: ubuntu-24.04
- permissions:
- contents: read
- steps:
- - uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- with:
- persist-credentials: false
- sparse-checkout: |
- .github/workflows/
-
- - name: Validate Input
- uses: ./.github/workflows/validate-release-version
- with:
- release-version: ${{ inputs.release-version }}
-
release-documentation:
name: Build and Upload Release Documentation and Man Pages
runs-on: ubuntu-24.04
- needs:
- - release-man-pages-validate-input
+ permissions:
+ contents: read
outputs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
man-page-release-version: ${{ steps.vars.outputs.man-page-release-version }}
- man-page-tarball-name: ${{ steps.vars.outputs.man-page-tarball-name }}
man-page-upload: ${{ steps.vars.outputs.man-page-upload }}
man-page-attestation-name: ${{ steps.vars.outputs.man-page-attestation-name }}
steps:
+ - name: Validate Input
+ if: inputs.release-version
+ uses: ./.github/workflows/validate-release-version
+ with:
+ release-version: ${{ inputs.release-version }}
+
- name: Collect Variables
id: vars
env:
@@ -102,7 +86,6 @@ jobs:
run: |
{
echo "man-page-release-version=$INPUTS_RELEASE_VERSION"
- echo "man-page-tarball-name=llvm_man_pages-$INPUTS_RELEASE_VERSION.tar.xz"
echo "man-page-ref=llvmorg-$INPUTS_RELEASE_VERSION"
echo "man-page-upload=$UPLOAD_MAN_PAGES"
echo "man-page-attestation-name=$RUNNER_OS-$RUNNER_ARCH-release-man-page-attestation"
@@ -113,11 +96,6 @@ jobs:
with:
persist-credentials: false
- - name: Validate Input
- uses: ./.github/workflows/validate-release-version
- with:
- release-version: ${{ inputs.release-version }}
-
- name: Setup Python env
uses: actions/setup-python at ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
@@ -135,17 +113,21 @@ jobs:
pip3 install --require-hashes --user -r ./llvm/docs/requirements.txt
- name: Build Documentation
+ id: build
env:
GITHUB_TOKEN: ${{ github.token }}
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
- ./llvm/utils/release/build-docs.sh -release "$INPUTS_RELEASE_VERSION" -no-doxygen
+ ./llvm/utils/release/build-docs.sh \
+ $(test -n "$INPUTS_RELEASE_VERSION" && echo -release $INPUTS_RELEASE_VERSION || echo -srcdir llvm) -no-doxygen
+ echo "man-page-tarball-name=$(find . -iname 'llvm_man_pages-*')" >> "$GITHUB_OUTPUT"
+
- name: Generate sha256 digest for man page tarball
id: man-page-digest
shell: bash
env:
- TARBALL_NAME: ${{ steps.vars.outputs.man-page-tarball-name }}
+ TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
echo "man-page-digest=$(cat "$TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
@@ -153,7 +135,7 @@ jobs:
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
path: |
- ${{ steps.vars.outputs.man-page-tarball-name }}
+ ${{ steps.build.outputs.man-page-tarball-name }}
- name: Create Release Notes Artifact
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From 2f41011cedd1229a8cfc9478efe7d31a0595875e Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 14:07:40 -0700
Subject: [PATCH 03/33] Cleanups
---
.github/workflows/release-documentation.yml | 24 +++------------------
1 file changed, 3 insertions(+), 21 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 34e2ed4537758..ce15149fff5a7 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -66,10 +66,6 @@ jobs:
outputs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
-
- man-page-release-version: ${{ steps.vars.outputs.man-page-release-version }}
- man-page-upload: ${{ steps.vars.outputs.man-page-upload }}
- man-page-attestation-name: ${{ steps.vars.outputs.man-page-attestation-name }}
steps:
- name: Validate Input
if: inputs.release-version
@@ -77,20 +73,6 @@ jobs:
with:
release-version: ${{ inputs.release-version }}
- - name: Collect Variables
- id: vars
- env:
- INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
- UPLOAD_MAN_PAGES: ${{ inputs.upload }}
- shell: bash
- run: |
- {
- echo "man-page-release-version=$INPUTS_RELEASE_VERSION"
- echo "man-page-ref=llvmorg-$INPUTS_RELEASE_VERSION"
- echo "man-page-upload=$UPLOAD_MAN_PAGES"
- echo "man-page-attestation-name=$RUNNER_OS-$RUNNER_ARCH-release-man-page-attestation"
- } >> "$GITHUB_OUTPUT"
-
- name: Checkout LLVM
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
@@ -212,10 +194,10 @@ jobs:
id: man-page-artifact-upload
uses: ./.github/workflows/upload-release-artifact
with:
- release-version: ${{ needs.release-documentation.outputs.man-page-release-version }}
+ release-version: ${{ inputs.release-version }}
artifact-id: ${{ needs.release-documentation.outputs.man-page-artifact-id }}
- attestation-name: ${{ needs.release-documentation.outputs.man-page-attestation-name }}
+ attestation-name: ${{ runner.os }}-${{ runner.arch }}-release-man-page-attestation
digest: ${{ needs.release-documentation.outputs.man-page-digest }}
- upload: ${{ needs.release-documentation.outputs.man-page-upload }}
+ upload: ${{ inputs.upload }}
LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
LLVM_TOKEN_GENERATOR_PRIVATE_KEY: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
>From 179432674685f1eb5a7546f1fa1434ab75fee36f Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 14:20:58 -0700
Subject: [PATCH 04/33] Fix build of libcxx docs
---
llvm/utils/release/build-docs.sh | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 648c829a62618..12f437e1d3ca7 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -149,22 +149,14 @@ export CXX=clang++
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
+ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_DOCS=ON \
$sphinx_flag \
$doxygen_flag \
$man_page_flag
-ninja -C $builddir $sphinx_targets $doxygen_targets $man_page_targets
-
-cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
- -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
- -DLLVM_ENABLE_SPHINX=ON \
- -DLLVM_BUILD_DOCS=ON \
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
-
-ninja -C $builddir/runtimes-doc \
- docs-libcxx-html
+ninja -C $builddir $sphinx_targets $doxygen_targets $man_page_targets docs-libcxx-html
if [ "${no_man_page}" != "yes" ]; then
output="llvm_man_pages-${release}"
@@ -196,5 +188,5 @@ done
# Keep the documentation for the runtimes under /projects/ to avoid breaking existing links.
for d in libcxx/docs/; do
mkdir -p $html_dir/projects/$d
- mv $builddir/runtimes-doc/$d/html/* $html_dir/projects/$d/
+ mv $builddir/$d/html/* $html_dir/projects/$d/
done
>From f90c6dd3e5c5855b327b059982eb94d0ab3a0f73 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 14:27:50 -0700
Subject: [PATCH 05/33] Fix typo
---
llvm/utils/release/build-docs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 12f437e1d3ca7..04f17b629c669 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -128,7 +128,7 @@ if [ "${no_man_pages}" != "yes" ]; then
install_prefix=${builddir}/install
man_page_flag=" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DCMAKE_INSTALL_PREFIX=${install_prefix}"
extra_man_page_projects=";lldb;mlir;bolt"
- extra_man_page_runtimes=";compiler-rt;openmp;"
+ extra_man_page_runtimes=";compiler-rt;openmp"
else
echo "Man pages: disabled"
fi
>From 028443c5e4e259ca9f4d38145350a7d3d6494a66 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 14:38:23 -0700
Subject: [PATCH 06/33] XXX: Debug
---
llvm/utils/release/build-docs.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 04f17b629c669..0f630b2e600d5 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -147,6 +147,7 @@ fi
export CC=clang
export CXX=clang++
+set -ex
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
>From a5d98fb1210839d7b0fe58b0be77ed6d379226b4 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 14:42:26 -0700
Subject: [PATCH 07/33] Fix typo
---
llvm/utils/release/build-docs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 0f630b2e600d5..c7f440c638d34 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -150,7 +150,7 @@ export CXX=clang++
set -ex
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
- -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
+ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind${extra_man_page_runtimes}" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_DOCS=ON \
$sphinx_flag \
>From 53e6f52a3e4e9dc52e693e239a6b7a3bf293a152 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:00:55 -0700
Subject: [PATCH 08/33] Revert "Fix typo"
This reverts commit a5d98fb1210839d7b0fe58b0be77ed6d379226b4.
---
llvm/utils/release/build-docs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index c7f440c638d34..0f630b2e600d5 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -150,7 +150,7 @@ export CXX=clang++
set -ex
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
- -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind${extra_man_page_runtimes}" \
+ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_DOCS=ON \
$sphinx_flag \
>From e57969d65ea507eb3725b64d5f3d5d3667c1d5f6 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:00:58 -0700
Subject: [PATCH 09/33] Revert "XXX: Debug"
This reverts commit 028443c5e4e259ca9f4d38145350a7d3d6494a66.
---
llvm/utils/release/build-docs.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 0f630b2e600d5..04f17b629c669 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -147,7 +147,6 @@ fi
export CC=clang
export CXX=clang++
-set -ex
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
>From d8593c77c11d2609164b353976f7f073e65bccea Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:01:00 -0700
Subject: [PATCH 10/33] Revert "Fix typo"
This reverts commit f90c6dd3e5c5855b327b059982eb94d0ab3a0f73.
---
llvm/utils/release/build-docs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 04f17b629c669..12f437e1d3ca7 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -128,7 +128,7 @@ if [ "${no_man_pages}" != "yes" ]; then
install_prefix=${builddir}/install
man_page_flag=" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DCMAKE_INSTALL_PREFIX=${install_prefix}"
extra_man_page_projects=";lldb;mlir;bolt"
- extra_man_page_runtimes=";compiler-rt;openmp"
+ extra_man_page_runtimes=";compiler-rt;openmp;"
else
echo "Man pages: disabled"
fi
>From ebfde953163067946828025f0059494d9b4a0fd3 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:01:02 -0700
Subject: [PATCH 11/33] Revert "Fix build of libcxx docs"
This reverts commit 179432674685f1eb5a7546f1fa1434ab75fee36f.
---
llvm/utils/release/build-docs.sh | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 12f437e1d3ca7..648c829a62618 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -149,14 +149,22 @@ export CXX=clang++
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
- -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_DOCS=ON \
$sphinx_flag \
$doxygen_flag \
$man_page_flag
-ninja -C $builddir $sphinx_targets $doxygen_targets $man_page_targets docs-libcxx-html
+ninja -C $builddir $sphinx_targets $doxygen_targets $man_page_targets
+
+cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
+ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;${extra_man_page_runtimes}" \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+
+ninja -C $builddir/runtimes-doc \
+ docs-libcxx-html
if [ "${no_man_page}" != "yes" ]; then
output="llvm_man_pages-${release}"
@@ -188,5 +196,5 @@ done
# Keep the documentation for the runtimes under /projects/ to avoid breaking existing links.
for d in libcxx/docs/; do
mkdir -p $html_dir/projects/$d
- mv $builddir/$d/html/* $html_dir/projects/$d/
+ mv $builddir/runtimes-doc/$d/html/* $html_dir/projects/$d/
done
>From 1e98a4f9b90359f6c7eff5290b5cac1f5c35f1e9 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:10:40 -0700
Subject: [PATCH 12/33] Fix
---
llvm/utils/release/build-docs.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index 648c829a62618..e19d1a39aeabc 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -144,8 +144,8 @@ fi
# This is just to ensure we're using the right compiler
# When running this locally, the script otherwise might
# prefer GCC.
-export CC=clang
-export CXX=clang++
+#export CC=clang
+#export CXX=clang++
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
>From 164a144994e55e487ac09802213b842496a30304 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:25:07 -0700
Subject: [PATCH 13/33] debug
---
llvm/utils/release/build-docs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index e19d1a39aeabc..a2c6a3776d03c 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -20,7 +20,7 @@
# * pip install --user -r ./llvm/docs/requirements.txt
#===------------------------------------------------------------------------===#
-set -e
+set -ex
builddir=docs-build
srcdir=$(readlink -f $(dirname "$(readlink -f "$0")")/../..)
>From 64aca0b7a500a718f3ed40da3ad8e0dd1b032a98 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:41:12 -0700
Subject: [PATCH 14/33] Fix
---
.github/workflows/release-documentation.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index ce15149fff5a7..876b84d8e78c8 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -102,7 +102,7 @@ jobs:
run: |
./llvm/utils/release/build-docs.sh \
$(test -n "$INPUTS_RELEASE_VERSION" && echo -release $INPUTS_RELEASE_VERSION || echo -srcdir llvm) -no-doxygen
- echo "man-page-tarball-name=$(find . -iname 'llvm_man_pages-*')" >> "$GITHUB_OUTPUT"
+ echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*'))" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for man page tarball
>From 1ec0e2d4400fb556484daf80439b1fafdcf6547c Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 16:58:50 -0700
Subject: [PATCH 15/33] Add artifact name
---
.github/workflows/release-documentation.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 876b84d8e78c8..222ca8d35cbdc 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -116,6 +116,7 @@ jobs:
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
+ name: man-pages
path: |
${{ steps.build.outputs.man-page-tarball-name }}
>From 01d382adec48dd49210ef8ebb75592882b34c5e4 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 29 Jul 2026 17:12:40 -0700
Subject: [PATCH 16/33] Fixes and cleanups
---
.github/workflows/release-documentation.yml | 10 +++++-----
llvm/utils/release/build-docs.sh | 8 +-------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 222ca8d35cbdc..863c871de3e67 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -67,17 +67,17 @@ jobs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
steps:
+ - name: Checkout LLVM
+ uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
+ with:
+ persist-credentials: false
+
- name: Validate Input
if: inputs.release-version
uses: ./.github/workflows/validate-release-version
with:
release-version: ${{ inputs.release-version }}
- - name: Checkout LLVM
- uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- with:
- persist-credentials: false
-
- name: Setup Python env
uses: actions/setup-python at ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index a2c6a3776d03c..3c80af1317d11 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -20,7 +20,7 @@
# * pip install --user -r ./llvm/docs/requirements.txt
#===------------------------------------------------------------------------===#
-set -ex
+set -e
builddir=docs-build
srcdir=$(readlink -f $(dirname "$(readlink -f "$0")")/../..)
@@ -141,12 +141,6 @@ else
echo "Doxygen: disabled"
fi
-# This is just to ensure we're using the right compiler
-# When running this locally, the script otherwise might
-# prefer GCC.
-#export CC=clang
-#export CXX=clang++
-
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang${extra_man_page_projects}" \
-DCMAKE_BUILD_TYPE=Release \
>From 09826f8499981f5963d9aef08478db02d013a018 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 09:25:50 -0700
Subject: [PATCH 17/33] Fix
---
.github/workflows/release-documentation.yml | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 863c871de3e67..d06bb8d499ff5 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -102,7 +102,7 @@ jobs:
run: |
./llvm/utils/release/build-docs.sh \
$(test -n "$INPUTS_RELEASE_VERSION" && echo -release $INPUTS_RELEASE_VERSION || echo -srcdir llvm) -no-doxygen
- echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*'))" >> "$GITHUB_OUTPUT"
+ echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for man page tarball
@@ -151,15 +151,20 @@ jobs:
path: www-releases
persist-credentials: false
+ - name: Download Release Notes Artifact
+ uses: actions/download-artifact at 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ id: download-artifact
+ with:
+ name: ${{ github.workspace }}/www-releases/${{ inputs.release-version }}
+
- name: Upload Release Notes
env:
PUSH_TOKEN: ${{ secrets.LLVMBOT_WWW_RELEASES_PUSH }}
GH_TOKEN: ${{ secrets.WWW_RELEASES_TOKEN }}
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
- mkdir -p www-releases/$INPUTS_RELEASE_VERSION
- mv ./docs-build/html-export/* www-releases/$INPUTS_RELEASE_VERSION
cd www-releases
+ ls -ltr www-releases/$INPUT_RELEASE_VERSION/*
git checkout -b $INPUTS_RELEASE_VERSION
git add $INPUTS_RELEASE_VERSION
git config user.email "llvmbot at llvm.org"
>From ef443b1bebd360a4aad44d46b2a63621ccaba589 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 09:27:46 -0700
Subject: [PATCH 18/33] XXX: Debug
---
.github/workflows/release-documentation.yml | 7 -------
1 file changed, 7 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index d06bb8d499ff5..7d0ca74b9e0a1 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -130,15 +130,8 @@ jobs:
upload-release-notes:
name: "Upload Release Notes"
runs-on: ubuntu-24.04
- environment:
- deployment: false
- name: release
needs:
- release-documentation
- if: >-
- github.event_name != 'pull_request' &&
- inputs.upload &&
- !contains(inputs.release-version, 'rc')
permissions:
contents: read
steps:
>From 52fb2a0f25fe00bde13841fe1a221aee949827ea Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 09:45:58 -0700
Subject: [PATCH 19/33] Fix
---
.github/workflows/release-documentation.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 7d0ca74b9e0a1..85557addf6c72 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -148,7 +148,8 @@ jobs:
uses: actions/download-artifact at 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
id: download-artifact
with:
- name: ${{ github.workspace }}/www-releases/${{ inputs.release-version }}
+ name: release-notes
+ path: ${{ github.workspace }}/www-releases/${{ inputs.release-version }}
- name: Upload Release Notes
env:
>From baf6ad7e86139d795e50e0f88c5b9f3d55db7344 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 10:00:32 -0700
Subject: [PATCH 20/33] Debug
---
.github/workflows/release-documentation.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 85557addf6c72..9bc601cd7d941 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -158,7 +158,8 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
cd www-releases
- ls -ltr www-releases/$INPUT_RELEASE_VERSION/*
+ ls -ltr *
+ ls -ltr $INPUT_RELEASE_VERSION/*
git checkout -b $INPUTS_RELEASE_VERSION
git add $INPUTS_RELEASE_VERSION
git config user.email "llvmbot at llvm.org"
>From 35bd4e7dfeabad89af262c5374849b7131008592 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 10:25:49 -0700
Subject: [PATCH 21/33] Remove debug
---
.github/workflows/release-documentation.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 9bc601cd7d941..9b75f400be4ba 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -158,8 +158,6 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
cd www-releases
- ls -ltr *
- ls -ltr $INPUT_RELEASE_VERSION/*
git checkout -b $INPUTS_RELEASE_VERSION
git add $INPUTS_RELEASE_VERSION
git config user.email "llvmbot at llvm.org"
>From 6396837247f8e6772156ce436dc7f3ce5edc1154 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 10:27:05 -0700
Subject: [PATCH 22/33] Revert "XXX: Debug"
This reverts commit ef443b1bebd360a4aad44d46b2a63621ccaba589.
---
.github/workflows/release-documentation.yml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 9b75f400be4ba..5cb9320b72424 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -130,8 +130,15 @@ jobs:
upload-release-notes:
name: "Upload Release Notes"
runs-on: ubuntu-24.04
+ environment:
+ deployment: false
+ name: release
needs:
- release-documentation
+ if: >-
+ github.event_name != 'pull_request' &&
+ inputs.upload &&
+ !contains(inputs.release-version, 'rc')
permissions:
contents: read
steps:
>From a879351fc3567caa4450efb5d00f43ec965a09e5 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jul 2026 16:56:28 -0700
Subject: [PATCH 23/33] Remove permissions
---
.github/workflows/release-documentation.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 5cb9320b72424..851efc75c4b0f 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -61,8 +61,6 @@ jobs:
release-documentation:
name: Build and Upload Release Documentation and Man Pages
runs-on: ubuntu-24.04
- permissions:
- contents: read
outputs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
>From 74ac44440a3cb89452380b3c68c6a22a2114dbc8 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 05:11:43 -0700
Subject: [PATCH 24/33] Add missing if
---
.github/workflows/release-documentation.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 851efc75c4b0f..82bac4dae8048 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -61,6 +61,9 @@ jobs:
release-documentation:
name: Build and Upload Release Documentation and Man Pages
runs-on: ubuntu-24.04
+ if: >-
+ github.repository_owner == 'llvm' &&
+ github.event.action != 'closed'
outputs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
>From eea025dc772a57d411f45671b78a6e40544b1db4 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 08:53:29 -0700
Subject: [PATCH 25/33] Fixes
---
.github/workflows/release-documentation.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 82bac4dae8048..1a89044f96dcc 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -55,7 +55,7 @@ on:
concurrency:
group: ${{ github.workflow }}-${{ inputs.release-version || github.event.pull_request.number }}
- cancel-in-progress: True
+ cancel-in-progress: true
jobs:
release-documentation:
@@ -102,7 +102,7 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
./llvm/utils/release/build-docs.sh \
- $(test -n "$INPUTS_RELEASE_VERSION" && echo -release $INPUTS_RELEASE_VERSION || echo -srcdir llvm) -no-doxygen
+ $(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm) -no-doxygen
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
>From b5be39f8810afb7563afc71e7f954a31ab357a42 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 11:37:13 -0700
Subject: [PATCH 26/33] Quote variable
---
.github/workflows/release-documentation.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 1a89044f96dcc..1961237dc4508 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -112,7 +112,7 @@ jobs:
env:
TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
- echo "man-page-digest=$(cat "$TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
+ echo "man-page-digest=$(cat "$TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From 0b061ee0ef7d4a1bba3cb08ee71283a3935d94f5 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 16:59:35 -0700
Subject: [PATCH 27/33] workflows: Merge release-doxygen into
release-documenation
These two workflows use the same script and have the same structure,
so it's easier just to have one job that builds both.
---
.github/workflows/release-documentation.yml | 45 ++++++++++++++++-----
1 file changed, 35 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 1961237dc4508..76082fd794815 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -67,6 +67,8 @@ jobs:
outputs:
man-page-digest: ${{ steps.man-page-digest.outputs.man-page-digest }}
man-page-artifact-id: ${{ steps.man-page-artifact-upload.outputs.artifact-id }}
+ doxygen-digest: ${{ steps.man-page-digest.outputs.doxygen-digest }}
+ doxygen-artifact-id: ${{ steps.doxygen-artifact-upload.outputs.artifact-id }}
steps:
- name: Checkout LLVM
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@@ -95,6 +97,12 @@ jobs:
texlive-font-utils
pip3 install --require-hashes --user -r ./llvm/docs/requirements.txt
+ # Install Doxygen
+ curl -L https://github.com/doxygen/doxygen/releases/download/Release_1_17_0/doxygen-1.17.0.linux.bin.tar.gz -o doxygen.tar.gz
+ echo "75419ef4f446fc1c24ef12514b574e66e898ee6f527c6ae2ad84f91a905823c2 doxygen.tar.gz" | shasum --check -
+ tar -xf doxygen.tar.gz
+ sudo install -m 755 doxygen-1.17.0/bin/doxygen /usr/local/bin/doxygen
+
- name: Build Documentation
id: build
env:
@@ -102,17 +110,20 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
./llvm/utils/release/build-docs.sh \
- $(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm) -no-doxygen
+ $(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm)
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
+ echo "doxygen-tarball-name=$(baename $(find . -iname '*doxygen*.tar.xz')) >> "$GITHUB_OUTPUT"
- - name: Generate sha256 digest for man page tarball
+ - name: Generate sha256 digest for tarballs
id: man-page-digest
shell: bash
env:
- TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
+ MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
+ DOXYGEN_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
- echo "man-page-digest=$(cat "$TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-digest=$(cat "$DOXYGEN_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -121,6 +132,13 @@ jobs:
path: |
${{ steps.build.outputs.man-page-tarball-name }}
+ - id: doxygen-artifact-upload
+ uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: doxygen
+ path: |
+ ${{ steps.build.outputs.doxygen-tarball-name }}
+
- name: Create Release Notes Artifact
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
@@ -174,8 +192,8 @@ jobs:
git push --force "https://$PUSH_TOKEN@github.com/llvmbot/www-releases.git" HEAD:refs/heads/$INPUTS_RELEASE_VERSION
gh pr create -f -B main -H llvmbot:$INPUTS_RELEASE_VERSION
- upload-man-pages:
- name: "Upload Man Pages"
+ upload-documentation:
+ name: "Upload Documentation"
runs-on: ubuntu-24.04
environment:
deployment: false
@@ -188,7 +206,14 @@ jobs:
contents: write # For man page uploads
id-token: write # For artifact attestations
attestations: write # For artifact attestations
-
+ matrix:
+ include:
+ - artifact-id: ${{ needs.release-documentation.outputs.man-page-artifact-id }}
+ attestation-name: release-man-page-attestation
+ digest: ${{ needs.release-documentation.outputs.man-page-digest }}
+ - artifact-id: ${{ needs.release-documentation.outputs.doxygen-artifact-id }}
+ attestation-name: release-doxygen-attestation
+ digest: ${{ needs.release-documentation.outputs.doxygen-digest }}
steps:
- uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
@@ -202,9 +227,9 @@ jobs:
uses: ./.github/workflows/upload-release-artifact
with:
release-version: ${{ inputs.release-version }}
- artifact-id: ${{ needs.release-documentation.outputs.man-page-artifact-id }}
- attestation-name: ${{ runner.os }}-${{ runner.arch }}-release-man-page-attestation
- digest: ${{ needs.release-documentation.outputs.man-page-digest }}
+ artifact-id: ${{ matrix.artifact-id }}
+ attestation-name: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.attestation_name }}
+ digest: ${{ matrix.digest }}
upload: ${{ inputs.upload }}
LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
LLVM_TOKEN_GENERATOR_PRIVATE_KEY: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
>From 32ed3d70a212b5062f3ce73be602b112387f0bc9 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 17:00:41 -0700
Subject: [PATCH 28/33] ebug
---
.github/workflows/release-documentation.yml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 76082fd794815..fc434190975a7 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -195,13 +195,8 @@ jobs:
upload-documentation:
name: "Upload Documentation"
runs-on: ubuntu-24.04
- environment:
- deployment: false
- name: release
needs:
- release-documentation
- if: >-
- github.event_name != 'pull_request'
permissions:
contents: write # For man page uploads
id-token: write # For artifact attestations
>From f58f0a648c16a923145f4cbaf944dfca912855f8 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 17:08:49 -0700
Subject: [PATCH 29/33] Fix matrix
---
.github/workflows/release-documentation.yml | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index fc434190975a7..94b4a59ff198a 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -201,14 +201,15 @@ jobs:
contents: write # For man page uploads
id-token: write # For artifact attestations
attestations: write # For artifact attestations
- matrix:
- include:
- - artifact-id: ${{ needs.release-documentation.outputs.man-page-artifact-id }}
- attestation-name: release-man-page-attestation
- digest: ${{ needs.release-documentation.outputs.man-page-digest }}
- - artifact-id: ${{ needs.release-documentation.outputs.doxygen-artifact-id }}
- attestation-name: release-doxygen-attestation
- digest: ${{ needs.release-documentation.outputs.doxygen-digest }}
+ strategy:
+ matrix:
+ include:
+ - artifact-id: ${{ needs.release-documentation.outputs.man-page-artifact-id }}
+ attestation-name: release-man-page-attestation
+ digest: ${{ needs.release-documentation.outputs.man-page-digest }}
+ - artifact-id: ${{ needs.release-documentation.outputs.doxygen-artifact-id }}
+ attestation-name: release-doxygen-attestation
+ digest: ${{ needs.release-documentation.outputs.doxygen-digest }}
steps:
- uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
>From 4225548bd6feb45a60d1e48dde5754dbd700bca8 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 20:44:31 -0700
Subject: [PATCH 30/33] Fix
---
.github/workflows/release-documentation.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 94b4a59ff198a..81a5c52f946e4 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -112,7 +112,7 @@ jobs:
./llvm/utils/release/build-docs.sh \
$(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm)
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
- echo "doxygen-tarball-name=$(baename $(find . -iname '*doxygen*.tar.xz')) >> "$GITHUB_OUTPUT"
+ echo "doxygen-tarball-name=$(baename $(find . -iname '*doxygen*.tar.xz'))" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for tarballs
>From bbde28116ec19bee98293dca2373688b4b4de2db Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 21:07:04 -0700
Subject: [PATCH 31/33] Fixes
---
.github/workflows/release-documentation.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 81a5c52f946e4..d35df982d4066 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -112,7 +112,7 @@ jobs:
./llvm/utils/release/build-docs.sh \
$(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm)
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
- echo "doxygen-tarball-name=$(baename $(find . -iname '*doxygen*.tar.xz'))" >> "$GITHUB_OUTPUT"
+ echo "doxygen-tarball-name=$(basename $(find . -iname '*doxygen*.tar.xz'))" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for tarballs
@@ -120,7 +120,7 @@ jobs:
shell: bash
env:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
- DOXYGEN_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
+ DOXYGEN_TARBALL_NAME: ${{ steps.build.outputs.doxygen-tarball-name }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
echo "doxygen-digest=$(cat "$DOXYGEN_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
@@ -224,7 +224,7 @@ jobs:
with:
release-version: ${{ inputs.release-version }}
artifact-id: ${{ matrix.artifact-id }}
- attestation-name: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.attestation_name }}
+ attestation-name: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.attestation-name }}
digest: ${{ matrix.digest }}
upload: ${{ inputs.upload }}
LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
>From d92b95d4975b060e8a488c3dcc8c3cb6d39d80c4 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 21:36:31 -0700
Subject: [PATCH 32/33] Debug
---
.github/workflows/release-documentation.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index d35df982d4066..e44a55cc65a1a 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -111,6 +111,7 @@ jobs:
run: |
./llvm/utils/release/build-docs.sh \
$(test -n "$INPUTS_RELEASE_VERSION" && echo -release "$INPUTS_RELEASE_VERSION" || echo -srcdir llvm)
+ ls -ltr
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
echo "doxygen-tarball-name=$(basename $(find . -iname '*doxygen*.tar.xz'))" >> "$GITHUB_OUTPUT"
>From 1d2a2640ec60ba3ea3c408cb64be58029a56dc53 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 1 Aug 2026 08:52:27 -0700
Subject: [PATCH 33/33] Fix
---
.github/workflows/release-documentation.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index e44a55cc65a1a..dcb12d1d0eb15 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -216,7 +216,7 @@ jobs:
with:
persist-credentials: false
sparse-checkout: |
- .github/workflows/upload-release-artifact
+ .github/workflows/
sparse-checkout-cone-mode: false
- name: Upload Man Page Artifacts
More information about the llvm-commits
mailing list