[llvm] workflows: Merge release-doxygen into release-documenation (PR #214366)
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 7 11:01:57 PDT 2026
https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/214366
>From 9f1ef7ea33856a8f1cb689ceca869d5b2f73376e 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/35] 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 | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index c19148017cfec..2dc9b15d6c9b9 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -67,6 +67,11 @@ 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-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: Checkout LLVM
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
>From f6f2d598d0bd68d62245d19c294fd1d2bf680095 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/35] More fixes
---
.github/workflows/release-documentation.yml | 27 ++++++++++++++++-----
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 2dc9b15d6c9b9..bbe06ce6f578f 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -64,26 +64,41 @@ jobs:
if: >-
github.repository_owner == 'llvm' &&
github.event.action != 'closed'
+ 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: 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: 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:
+ persist-credentials: false
+
- name: Setup Python env
uses: actions/setup-python at ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
>From 34926480dfa181e822a48808d993c4752ebcb89b 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/35] Cleanups
---
.github/workflows/release-documentation.yml | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index bbe06ce6f578f..9d93bcc414ae1 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -69,10 +69,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
@@ -80,20 +76,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:
>From 5c78755427723fd90c05234cf51239fbd3d59f42 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/35] 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 3c80af1317d11..ff79437d8adca 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -143,22 +143,14 @@ fi
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}"
@@ -190,5 +182,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 2926e220d4584a143dbb6998f003cccc21c57f29 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/35] 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 ff79437d8adca..7ec1c0753e116 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 464929aa5307d1b8c6d372ba86dd320e1fd8d674 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 06/35] 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 7ec1c0753e116..e8cc8604196cc 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -143,7 +143,7 @@ fi
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 566be03dbb1f941249932a9171cb2a55ed20b308 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 07/35] 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 e8cc8604196cc..7ec1c0753e116 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -143,7 +143,7 @@ fi
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 790f92448122de398211474548b0af0df74fe57e 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 08/35] 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 7ec1c0753e116..ff79437d8adca 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 ec347c12e4bc6fc1d9a6160cc2e0978fffc7d159 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 09/35] 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 ff79437d8adca..3c80af1317d11 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -143,14 +143,22 @@ fi
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}"
@@ -182,5 +190,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 976944dcce2811d0189418c6823497f1ef0ec2cc 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 10/35] 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 3c80af1317d11..110ad31b7eb4e 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 a137a4977bcc10a2b7b8dcea840ce3bb1d08c995 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 11/35] Fixes and cleanups
---
.github/workflows/release-documentation.yml | 10 +++++-----
llvm/utils/release/build-docs.sh | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 9d93bcc414ae1..63c8660782007 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -70,17 +70,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 110ad31b7eb4e..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")")/../..)
>From 59982647276a54d91847d4cd59aaf3486bc9e6b7 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 12/35] Fix
---
.github/workflows/release-documentation.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 63c8660782007..d78cea42d0713 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -104,7 +104,11 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
./llvm/utils/release/build-docs.sh \
+<<<<<<< HEAD
$(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
+>>>>>>> fdd1f1c979c7 (Fix)
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
@@ -168,6 +172,7 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
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 0c24f5666bc629ff5eed13d775cf8b1f8106d7af 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 13/35] 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 d78cea42d0713..24e66c7c4d538 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -137,15 +137,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 aea236e92b8a1b0c88f0dfc35f28e87dfc73eca2 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 14/35] 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 24e66c7c4d538..1912a3401bbc3 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -165,7 +165,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 f9d217eb39a7b533bd1b6dbf6f5f2345f19c4561 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 15/35] 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 1912a3401bbc3..a50f25c06bd84 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -165,8 +165,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 3bf84290434d851c44977923e64b38c3b0190c21 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 16/35] 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 a50f25c06bd84..41a8b1581d255 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -137,8 +137,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 50af94ef397726e9ad03f01da0174129b3ba2427 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 17/35] Remove permissions
---
.github/workflows/release-documentation.yml | 4 ----
1 file changed, 4 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 41a8b1581d255..63c8660782007 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -104,11 +104,7 @@ jobs:
INPUTS_RELEASE_VERSION: ${{ inputs.release-version }}
run: |
./llvm/utils/release/build-docs.sh \
-<<<<<<< HEAD
$(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
->>>>>>> fdd1f1c979c7 (Fix)
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
>From 5e93d99c00275daed866e34d290ee97b697067bc 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 18/35] 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 63c8660782007..ffd5bfffccdd3 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -69,6 +69,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
@@ -97,6 +99,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:
@@ -104,17 +112,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
@@ -123,6 +134,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:
@@ -176,8 +194,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
@@ -190,16 +208,23 @@ 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:
- name: Upload Man Page Artifacts
id: man-page-artifact-upload
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 b000cff9ea9b5ef750f2081eabb024ac13a6096d 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 19/35] 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 ffd5bfffccdd3..20ec56ebe8429 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -197,13 +197,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 7885cddf749a9eb77ab08a2fcd3bfdde82b3e1a4 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 20/35] 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 20ec56ebe8429..2929ebdc53fc5 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -203,14 +203,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:
- name: Upload Man Page Artifacts
id: man-page-artifact-upload
>From 2e97201a39bfb3ca14173c745710675c67efe54a 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 21/35] 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 2929ebdc53fc5..a728d1524de74 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -114,7 +114,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 02e4357802ee1323a317234573e31583dba84763 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 22/35] 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 a728d1524de74..85df3bab0816d 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -114,7 +114,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
@@ -122,7 +122,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"
@@ -219,7 +219,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 858ed7ae7c041334c130732d9626dea1bbdefdb6 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 23/35] 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 85df3bab0816d..52e030c4bb3a0 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -113,6 +113,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 556c310125a3297f1ed527f1f61c0675444fd7f5 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 5 Aug 2026 13:40:49 -0700
Subject: [PATCH 24/35] Remove doxygen workflow
---
.github/workflows/release-doxygen.yml | 130 --------------------------
.github/workflows/release-tasks.yml | 16 ----
2 files changed, 146 deletions(-)
delete mode 100644 .github/workflows/release-doxygen.yml
diff --git a/.github/workflows/release-doxygen.yml b/.github/workflows/release-doxygen.yml
deleted file mode 100644
index d0cc56c6c22d2..0000000000000
--- a/.github/workflows/release-doxygen.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-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:
- LLVM_TOKEN_GENERATOR_CLIENT_ID:
- description: "Client ID for our GitHub App we use for generating access tokens."
- required: true
- LLVM_TOKEN_GENERATOR_PRIVATE_KEY:
- description: "Private key for our GitHub App we use for generating access tokens."
- required: true
-
-jobs:
- # This job checks permissions and validates inputs to prevent potential
- # malicious actions. Since the release-doxygen job has contents: write
- # permissions we need to be extra careful about who can run the job and
- # what inputs can be provided.
- release-doxygen-validate-input:
- name: Release Doxygen Validate Input
- runs-on: ubuntu-24.04
- environment:
- name: release
- deployment: false
- permissions:
- contents: read
- steps:
- - uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- with:
- persist-credentials: false
- 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:
- release-version: ${{ inputs.release-version }}
-
- release-doxygen:
- name: Build and Upload Release Doxygen
- runs-on: ubuntu-24.04
- environment:
- name: release
- deployment: false
- permissions:
- contents: write
- needs:
- - release-doxygen-validate-input
- env:
- upload: ${{ inputs.upload && !contains(inputs.release-version, 'rc') }}
- steps:
- - 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:
- 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 --require-hashes --user -r ./llvm/docs/requirements.txt
-
- - name: Install Doxygen
- run: |
- 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 Doxygen
- env:
- RELEASE_VERSION: ${{ inputs.release-version }}
- run: |
- ./llvm/utils/release/build-docs.sh -release "$RELEASE_VERSION" -no-sphinx -no-man-pages
-
- - id: app-token
- uses: actions/create-github-app-token at bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
- with:
- app-id: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
- private-key: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
- owner: ${{ github.repository_owner }}
- permission-members: read
-
- - name: Upload Doxygen
- if: env.upload
- env:
- GITHUB_TOKEN: ${{ github.token }}
- USER_TOKEN: ${{ steps.app-token.outputs.token }}
- RELEASE_VERSION: ${{ inputs.release-version }}
- run: |
- ./llvm/utils/release/github-upload-release.py --token "$GITHUB_TOKEN" --release "$RELEASE_VERSION" --user "$GITHUB_ACTOR" --user-token "$USER_TOKEN" upload --files ./*doxygen*.tar.xz
diff --git a/.github/workflows/release-tasks.yml b/.github/workflows/release-tasks.yml
index 932a9ffbe8601..cb84d37fada99 100644
--- a/.github/workflows/release-tasks.yml
+++ b/.github/workflows/release-tasks.yml
@@ -78,22 +78,6 @@ jobs:
LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
LLVM_TOKEN_GENERATOR_PRIVATE_KEY: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
- release-doxygen:
- name: Build and Upload Release Doxygen
- permissions:
- contents: write
- needs:
- - validate-tag
- - release-create
- uses: ./.github/workflows/release-doxygen.yml
- with:
- release-version: ${{ needs.validate-tag.outputs.release-version }}
- upload: true
- # Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
- secrets:
- LLVM_TOKEN_GENERATOR_CLIENT_ID: ${{ secrets.LLVM_TOKEN_GENERATOR_CLIENT_ID }}
- LLVM_TOKEN_GENERATOR_PRIVATE_KEY: ${{ secrets.LLVM_TOKEN_GENERATOR_PRIVATE_KEY }}
-
# The pypi trusted publishing does not support called workflows, so we
# can't use them here.
release-lit:
>From 77c213640e998e8040a1a4c5487e5a1c8219a7bd Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 5 Aug 2026 14:03:40 -0700
Subject: [PATCH 25/35] Fix tarballanmes and add pull_reqeust block
---
.github/workflows/release-documentation.yml | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 52e030c4bb3a0..cfd014f48c564 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -115,7 +115,7 @@ jobs:
$(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"
+ echo "doxygen-tarball-names=$(find . -maxdepth 1 -iname '*doxygen*.tar.xz' -exec basename {} \; | xargs)" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for tarballs
@@ -123,10 +123,10 @@ jobs:
shell: bash
env:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
- DOXYGEN_TARBALL_NAME: ${{ steps.build.outputs.doxygen-tarball-name }}
+ DOXYGEN_TARBALL_NAMES: ${{ steps.build.outputs.doxygen-tarball-names }}
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"
+ echo "doxygen-digest=$(cat "$DOXYGEN_TARBALL_NAMES" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -140,7 +140,7 @@ jobs:
with:
name: doxygen
path: |
- ${{ steps.build.outputs.doxygen-tarball-name }}
+ ${{ steps.build.outputs.doxygen-tarball-names }}
- name: Create Release Notes Artifact
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -200,6 +200,8 @@ jobs:
runs-on: ubuntu-24.04
needs:
- release-documentation
+ if: >-
+ github.event_name != 'pull_request'
permissions:
contents: write # For man page uploads
id-token: write # For artifact attestations
>From 7e502cddd3aef658ecc211c147cec0aa3a717640 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 5 Aug 2026 14:57:51 -0700
Subject: [PATCH 26/35] Fixes
---
.github/workflows/release-documentation.yml | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index cfd014f48c564..996306cbc4e46 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -61,6 +61,8 @@ jobs:
release-documentation:
name: Build and Upload Release Documentation and Man Pages
runs-on: ubuntu-24.04
+ env:
+ DOXYGEN_FILE_PATTERN: '*doxygen*.tar.xz'
if: >-
github.repository_owner == 'llvm' &&
github.event.action != 'closed'
@@ -115,7 +117,7 @@ jobs:
$(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-names=$(find . -maxdepth 1 -iname '*doxygen*.tar.xz' -exec basename {} \; | xargs)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-tarball-names=$(find . -maxdepth 1 -iname "$DOXYGEN_FILE_PATTERN" -exec basename {} \; | xargs)" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for tarballs
@@ -126,7 +128,7 @@ jobs:
DOXYGEN_TARBALL_NAMES: ${{ steps.build.outputs.doxygen-tarball-names }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo "doxygen-digest=$(cat "$DOXYGEN_TARBALL_NAMES" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-digest=$(cat "$DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -140,7 +142,7 @@ jobs:
with:
name: doxygen
path: |
- ${{ steps.build.outputs.doxygen-tarball-names }}
+ ${{ env.DOXYGEN_FILE_PATTERN }}
- name: Create Release Notes Artifact
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From f348baeb91b10b5245ab8a75b43a9da0f8ee3a7c Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 5 Aug 2026 16:16:06 -0700
Subject: [PATCH 27/35] Digest fix
---
.github/workflows/release-documentation.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 996306cbc4e46..f31257b4fd321 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -119,7 +119,6 @@ jobs:
echo "man-page-tarball-name=$(basename $(find . -iname 'llvm_man_pages-*.tar.xz'))" >> "$GITHUB_OUTPUT"
echo "doxygen-tarball-names=$(find . -maxdepth 1 -iname "$DOXYGEN_FILE_PATTERN" -exec basename {} \; | xargs)" >> "$GITHUB_OUTPUT"
-
- name: Generate sha256 digest for tarballs
id: man-page-digest
shell: bash
@@ -128,7 +127,7 @@ jobs:
DOXYGEN_TARBALL_NAMES: ${{ steps.build.outputs.doxygen-tarball-names }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo "doxygen-digest=$(cat "$DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From 32f0d918d5ca7314e7eaf4b1bd92482223127f45 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 5 Aug 2026 17:02:26 -0700
Subject: [PATCH 28/35] Remove unused variable
---
.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 f31257b4fd321..069182c2188ec 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -117,14 +117,12 @@ jobs:
$(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-names=$(find . -maxdepth 1 -iname "$DOXYGEN_FILE_PATTERN" -exec basename {} \; | xargs)" >> "$GITHUB_OUTPUT"
- name: Generate sha256 digest for tarballs
id: man-page-digest
shell: bash
env:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
- DOXYGEN_TARBALL_NAMES: ${{ steps.build.outputs.doxygen-tarball-names }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
>From d9ae67332fff5333cf5b12854f56d83c10889402 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 6 Aug 2026 15:12:02 -0700
Subject: [PATCH 29/35] Remove debugging
---
.github/workflows/release-documentation.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 069182c2188ec..7c3a283b58347 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -115,7 +115,6 @@ 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"
- name: Generate sha256 digest for tarballs
>From 0fd1b9899dde9068261262bf20494260fcb5d91a Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 6 Aug 2026 20:56:15 -0700
Subject: [PATCH 30/35] Fixes plus 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 7c3a283b58347..201d3e799d293 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -124,7 +124,8 @@ jobs:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-digest=$(cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo $GITHUB_OUTPUT
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From 01f23736a3d3fac4cea04eb060c5d488860cde2c Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 6 Aug 2026 21:29:03 -0700
Subject: [PATCH 31/35] Fix and debug
---
.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 201d3e799d293..def04c85d2565 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -125,7 +125,7 @@ jobs:
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
echo "doxygen-digest=$(cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo $GITHUB_OUTPUT
+ cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From 099915b779b9d945f3b0918c5dd8a89cc18d8198 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 7 Aug 2026 06:36:54 -0700
Subject: [PATCH 32/35] Fix typo
---
.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 def04c85d2565..da7ea5d0f2d2f 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -124,7 +124,7 @@ jobs:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo "doxygen-digest=$(cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
+ echo "doxygen-digest=$(cat "$DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1
- id: man-page-artifact-upload
>From 807c9e89c03d1b022028876cd61fb6dc68abb38b Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 7 Aug 2026 07:30:09 -0700
Subject: [PATCH 33/35] Fix
---
.github/workflows/release-documentation.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index da7ea5d0f2d2f..7c3a283b58347 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -124,8 +124,7 @@ jobs:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- echo "doxygen-digest=$(cat "$DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- cat $DOXYGEN_FILE_PATTERN" | sha256sum | cut -d ' ' -f 1
+ echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
- id: man-page-artifact-upload
uses: actions/upload-artifact at 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
>From e61498b960020dd244156f22a73fc322ebf553e0 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 7 Aug 2026 07:30:46 -0700
Subject: [PATCH 34/35] Fix and 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 7c3a283b58347..030bce6bd35d7 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -123,6 +123,7 @@ jobs:
env:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
+ set -ex
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
>From ad5a225c6e13b73c0db09feee631aa632baed680 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 7 Aug 2026 11:01:03 -0700
Subject: [PATCH 35/35] remove debugging
---
.github/workflows/release-documentation.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/release-documentation.yml b/.github/workflows/release-documentation.yml
index 030bce6bd35d7..7c3a283b58347 100644
--- a/.github/workflows/release-documentation.yml
+++ b/.github/workflows/release-documentation.yml
@@ -123,7 +123,6 @@ jobs:
env:
MAN_PAGE_TARBALL_NAME: ${{ steps.build.outputs.man-page-tarball-name }}
run: |
- set -ex
echo "man-page-digest=$(cat "$MAN_PAGE_TARBALL_NAME" | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
echo "doxygen-digest=$(cat $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"
More information about the llvm-commits
mailing list