Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9f1ef7e
workflows/release-documentation: Rework workflow to make it testable
tstellar Jul 29, 2026
f6f2d59
More fixes
tstellar Jul 29, 2026
3492648
Cleanups
tstellar Jul 29, 2026
5c78755
Fix build of libcxx docs
tstellar Jul 29, 2026
2926e22
Fix typo
tstellar Jul 29, 2026
464929a
Fix typo
tstellar Jul 29, 2026
566be03
Revert "Fix typo"
tstellar Jul 29, 2026
790f924
Revert "Fix typo"
tstellar Jul 29, 2026
ec347c1
Revert "Fix build of libcxx docs"
tstellar Jul 29, 2026
976944d
debug
tstellar Jul 29, 2026
a137a49
Fixes and cleanups
tstellar Jul 30, 2026
5998264
Fix
tstellar Jul 30, 2026
0c24f56
XXX: Debug
tstellar Jul 30, 2026
aea236e
Debug
tstellar Jul 30, 2026
f9d217e
Remove debug
tstellar Jul 30, 2026
3bf8429
Revert "XXX: Debug"
tstellar Jul 30, 2026
50af94e
Remove permissions
tstellar Jul 30, 2026
5e93d99
workflows: Merge release-doxygen into release-documenation
tstellar Jul 31, 2026
b000cff
ebug
tstellar Aug 1, 2026
7885cdd
Fix matrix
tstellar Aug 1, 2026
2e97201
Fix
tstellar Aug 1, 2026
02e4357
Fixes
tstellar Aug 1, 2026
858ed7a
Debug
tstellar Aug 1, 2026
556c310
Remove doxygen workflow
tstellar Aug 5, 2026
77c2136
Fix tarballanmes and add pull_reqeust block
tstellar Aug 5, 2026
7e502cd
Fixes
tstellar Aug 5, 2026
f348bae
Digest fix
tstellar Aug 5, 2026
32f0d91
Remove unused variable
tstellar Aug 6, 2026
d9ae673
Remove debugging
tstellar Aug 6, 2026
0fd1b98
Fixes plus debug
tstellar Aug 7, 2026
01f2373
Fix and debug
tstellar Aug 7, 2026
099915b
Fix typo
tstellar Aug 7, 2026
807c9e8
Fix
tstellar Aug 7, 2026
e61498b
Fix and debug
tstellar Aug 7, 2026
ad5a225
remove debugging
tstellar Aug 7, 2026
b932e50
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Aug 20, 2026
c0dba49
Add back environment
tstellar Aug 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 38 additions & 11 deletions .github/workflows/release-documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,18 @@ 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'
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 }}
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@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
Expand Down Expand Up @@ -95,24 +101,30 @@ 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:
GITHUB_TOKEN: ${{ github.token }}
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"


- 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 }}
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 $(xargs <<< "$DOXYGEN_FILE_PATTERN") | sha256sum | cut -d ' ' -f 1)" >> "$GITHUB_OUTPUT"

- id: man-page-artifact-upload
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
Expand All @@ -121,6 +133,13 @@ jobs:
path: |
${{ steps.build.outputs.man-page-tarball-name }}

- id: doxygen-artifact-upload
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: doxygen
path: |
${{ env.DOXYGEN_FILE_PATTERN }}

- name: Create Release Notes Artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
Expand Down Expand Up @@ -174,8 +193,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
Expand All @@ -188,16 +207,24 @@ jobs:
contents: write # For man page uploads
id-token: write # For artifact attestations
attestations: write # For artifact attestations

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
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 }}
130 changes: 0 additions & 130 deletions .github/workflows/release-doxygen.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .github/workflows/release-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Loading