Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
2bc5c1a
Add Windows release binary builds
tstellar Jul 26, 2025
860dff2
Fix
tstellar Jul 26, 2025
6533e44
Fix
tstellar Jul 26, 2025
04381bb
Fix
tstellar Jul 26, 2025
1a9dddd
Fix
tstellar Jul 27, 2025
d2dcb30
Fix
tstellar Aug 11, 2025
02bb6da
Merge branch 'main' into windows-release-build
tstellar Oct 4, 2025
ccd8dc7
Disable tests
tstellar Oct 4, 2025
fd92cc4
Disable tests more
tstellar Oct 4, 2025
abd2683
Change ref
tstellar Oct 4, 2025
efb08ab
Use subst
tstellar Oct 18, 2025
b349aea
Merge remote-tracking branch 'origin/main' into windows-release-build
tstellar Oct 18, 2025
23f5d4a
Use local
tstellar Oct 18, 2025
4216795
Fix
tstellar Oct 19, 2025
006890e
Fix
tstellar Oct 19, 2025
824b6ba
XXX: fix
tstellar Oct 19, 2025
7da80e7
Fix typo
tstellar Oct 19, 2025
3c6be6c
Fix paths
tstellar Oct 21, 2025
71d8dea
Add offload
tstellar Oct 21, 2025
3e7b095
Disable openmp
tstellar Oct 21, 2025
a67009d
debug
tstellar Oct 21, 2025
4dc458a
debug
tstellar Oct 21, 2025
b1edfb3
Remove subst
tstellar Oct 21, 2025
c7d970e
Remove diff
tstellar Oct 21, 2025
84e8055
Fixes
tstellar Oct 21, 2025
4e92806
Don't run tests so many times
tstellar Oct 21, 2025
33283a8
Autocrlf
tstellar Oct 21, 2025
80daeaf
Fix typo
tstellar Oct 21, 2025
c6b62cb
Fix
tstellar Oct 21, 2025
f12b824
Fix
tstellar Oct 21, 2025
83d7b48
Setup windows
tstellar Oct 22, 2025
f0e129a
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Nov 14, 2025
7c70b55
Update
tstellar Nov 14, 2025
16d8f1e
Fix version
tstellar Nov 17, 2025
0e922b6
Remove subst
tstellar Nov 17, 2025
a28d6ca
No subst
tstellar Nov 17, 2025
4c28998
Revert "No subst"
tstellar Nov 17, 2025
44da3b2
Revert "Remove subst"
tstellar Nov 17, 2025
8b243f2
Fixes for release script
tstellar Nov 17, 2025
eddcf32
Setup python
tstellar Nov 17, 2025
c1d9b44
Try to fix python
tstellar Nov 17, 2025
676d58f
More python removal
tstellar Nov 18, 2025
261e061
Fix python again
tstellar Nov 18, 2025
3890307
Fix python
tstellar Nov 18, 2025
7671714
Try with python3.9
tstellar Nov 18, 2025
36a3d0c
Debug
tstellar Nov 19, 2025
f613030
Debug
tstellar Nov 19, 2025
d0587a9
Debug
tstellar Nov 19, 2025
302d295
debug
tstellar Nov 20, 2025
2ffbafc
Disable tests
tstellar Nov 20, 2025
aee79f4
Retry
tstellar Nov 20, 2025
d463f0b
fixes
tstellar Nov 21, 2025
dd7aa0e
Add upload
tstellar Nov 22, 2025
f48bd50
Fix typo
tstellar Nov 22, 2025
a636473
Fix typo
tstellar Nov 22, 2025
af9dc8b
Fix typo
tstellar Nov 22, 2025
cd0aee7
Undo script hacks
tstellar Nov 22, 2025
81a0b9c
workflows: Factor out artifact attestation and upload into a composit…
tstellar Nov 24, 2025
1175fa4
Merge commit '81a0b9c35c57' into windows-release-build
tstellar Nov 26, 2025
5105f2d
Lots of changes
tstellar Nov 26, 2025
0994cfb
Fix
tstellar Nov 26, 2025
16e2c77
Fixes to disable python
tstellar Nov 26, 2025
60eb734
Fix verbose flag
tstellar Nov 26, 2025
0e5f6bd
lldb debug
tstellar Nov 26, 2025
911b195
Debug
tstellar Nov 26, 2025
23ac07e
Debug
tstellar Nov 26, 2025
f298a1d
Debug
tstellar Nov 26, 2025
b9b23cb
Python fix
tstellar Nov 26, 2025
1764bd5
Fix moving binaries
tstellar Nov 27, 2025
9d2a24e
Fix artifact paths
tstellar Nov 28, 2025
22e2711
Fix typo
tstellar Nov 28, 2025
4eaf6fc
Revert "remove Fortran support for this patch"
ro-i Dec 1, 2025
c3a2ecd
remove Fortran specific parts
ro-i Dec 1, 2025
e1bf61f
Fix tarball name
tstellar Dec 1, 2025
e4bf725
Revert "remove Fortran support for this patch"
ro-i Dec 1, 2025
3eea738
remove Fortran specific parts
ro-i Dec 1, 2025
c47a935
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 1, 2025
64c9a4f
use KMP_EXPAND_NAME and add versioned symbol
ro-i Dec 1, 2025
4c4236e
fix formatting
ro-i Dec 1, 2025
f4745be
Merge remote-tracking branch 'origin/users/ro-i/openmp-device-uid-fix…
tstellar Dec 1, 2025
7530ab5
Disable attestion creation when uploads are disabled
tstellar Dec 1, 2025
e6e54df
Disable attestion creation when uploads are disabled
tstellar Dec 1, 2025
6ba7738
Merge remote-tracking branch 'tstellar/refactor-attestations-pr-2' in…
tstellar Dec 2, 2025
3a49a3d
Remove search
tstellar Dec 2, 2025
7cc3ca7
Remove search
tstellar Dec 2, 2025
fc0eb66
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 2, 2025
d1f59b2
Revert "[flang] implement show_descriptor intrinsic, a non-standard e…
tstellar Dec 2, 2025
1023d58
Reapply "[flang] implement show_descriptor intrinsic, a non-standard …
tstellar Dec 2, 2025
8ca5a8d
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 2, 2025
bbfb34e
Fix path
tstellar Dec 2, 2025
5f858fd
Move upload artifact out of composite action
tstellar Dec 3, 2025
7f43d2a
Merge remote-tracking branch 'tstellar/refactor-attestations-pr-2' in…
tstellar Dec 3, 2025
8e52d46
Integrate new attestation
tstellar Dec 3, 2025
6a5e8f6
Fix
tstellar Dec 3, 2025
ddd1d1b
Fixes
tstellar Dec 3, 2025
868383e
workflows/release-binaries: Use upload-release-artifact action for up…
tstellar Dec 3, 2025
90cc60a
Merge remote-tracking branch 'tstellar/release-binary-upload' into HEAD
tstellar Dec 3, 2025
1cc5f87
Integrate into main release workflow
tstellar Dec 3, 2025
aef4f4f
Disable old
tstellar Dec 3, 2025
fe0c5f2
Fix indentation
tstellar Dec 3, 2025
b32c1a4
Fix verswion
tstellar Dec 3, 2025
becb649
Fix version
tstellar Dec 3, 2025
a202146
Fix autocrlf
tstellar Dec 4, 2025
a4d145b
Run windows on depot
tstellar Dec 4, 2025
06e85c2
Fix binary names
tstellar Dec 4, 2025
9b000f3
Undo python debugging
tstellar Dec 5, 2025
990632e
Add python debug
tstellar Dec 5, 2025
ba6cbf2
Fix typo
tstellar Dec 5, 2025
54e737b
Fix path
tstellar Dec 5, 2025
dc215d3
Python fixes
tstellar Dec 5, 2025
4526175
add setup-python
tstellar Dec 5, 2025
a48ce8a
Try setting libs env variable
tstellar Dec 5, 2025
81b8ff8
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 5, 2025
6872fed
Add comment
tstellar Dec 6, 2025
7069c5a
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 6, 2025
99b678c
Remove some debug stuff
tstellar Dec 6, 2025
98255ba
Fix formatting
tstellar Dec 6, 2025
ceac04e
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 8, 2025
98eef38
Update python versions
tstellar Dec 17, 2025
5d0c138
Fix pythono version
tstellar Dec 17, 2025
a2335b6
Debug
tstellar Dec 17, 2025
76503a9
Use python 3.10
tstellar Dec 17, 2025
9f6e521
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Dec 17, 2025
6537c22
Remove debugging
tstellar Dec 18, 2025
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
1 change: 1 addition & 0 deletions .github/workflows/release-binaries-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ jobs:
- ubuntu-22.04
- ubuntu-22.04-arm
- macos-14
- windows-2022

uses: ./.github/workflows/release-binaries.yml
with:
Expand Down
77 changes: 71 additions & 6 deletions .github/workflows/release-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,16 @@ jobs:
run: |
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user "$GITHUB_ACTOR" --user-token "$USER_TOKEN" check-permissions

# The name of the Windows binaries uses the version from source, so we need
# to fetch it here.
- id: version-from-source
if: runner.os == 'Windows'
uses: ./.github/workflows/get-llvm-version

- name: Collect Variables
id: vars
env:
LLVM_VERSION_FROM_SOURCE: ${{ format('{0}.{1}.{2}', steps.version-from-source.outputs.major, steps.version-from-source.outputs.minor, steps.version-from-source.outputs.patch) }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth it in a future refactoring to make this an explicit output from the composite workflow.

shell: bash
# In order for the test-release.sh script to run correctly, the LLVM
# source needs to be at the following location relative to the build dir:
Expand All @@ -104,7 +112,11 @@ jobs:
release_version="$trimmed"
ref="llvmorg-$release_version"
else
release_version="${{ (github.event_name == 'pull_request' && format('PR{0}', github.event.pull_request.number)) || 'CI'}}-$GITHUB_SHA"
if [ "$RUNNER_OS" = "Windows" ]; then
release_version="$LLVM_VERSION_FROM_SOURCE"
else
release_version="${{ (github.event_name == 'pull_request' && format('PR{0}', github.event.pull_request.number)) || 'CI'}}-$GITHUB_SHA"
fi
ref="$GITHUB_SHA"
fi
if [ -n "${{ inputs.upload }}" ]; then
Expand All @@ -116,7 +128,19 @@ jobs:
echo "ref=$ref" >> $GITHUB_OUTPUT
echo "upload=$upload" >> $GITHUB_OUTPUT

release_binary_basename="LLVM-$release_version-$RUNNER_OS-$RUNNER_ARCH"
if [ "$RUNNER_OS" = "Windows" ]; then
case $RUNNER_ARCH in
"X64" )
tar_arch="x86_64"
;;
"ARM64" )
tar_arch="aarch64"
;;
esac
release_binary_basename="clang+llvm-$release_version-$tar_arch-pc-windows-msvc"
else
release_binary_basename="LLVM-$release_version-$RUNNER_OS-$RUNNER_ARCH"
fi
echo "release-binary-basename=$release_binary_basename" >> $GITHUB_OUTPUT
echo "release-binary-filename=$release_binary_basename.tar.xz" >> $GITHUB_OUTPUT

Expand All @@ -139,7 +163,7 @@ jobs:
fi

case "${{ inputs.runs-on }}" in
ubuntu-22.04*)
ubuntu-22.04* | windows-2022)
build_runs_on="depot-${{ inputs.runs-on }}-16"
test_runs_on=$build_runs_on
;;
Expand Down Expand Up @@ -185,6 +209,24 @@ jobs:
digest: ${{ steps.digest.outputs.digest }}
artifact-id: ${{ steps.artifact-upload.outputs.artifact-id }}
steps:
# We need to hard code the python library path for Windows, so in order
# to do that we need to specify a specific python version. It's also
# good practice to do this on other OSes so the version of python doesn't
# get changed unexpectedly.
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: '3.10'

# For some reason this is needed on Windows or else the build system can't find python3.lib.
- name: Setup Python library path
if: runner.os == 'Windows'
run: |
echo "LIB=$env:LIB;C:\hostedtoolcache\windows\Python\3.10.11\x64\libs" >> $env:GITHUB_ENV

- name: Setup crlf
if: runner.os == 'Windows'
run: |
git config --global core.autocrlf false

- name: Checkout LLVM
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
Expand All @@ -202,8 +244,9 @@ jobs:
fi
echo "build-prefix=$build_prefix" >> $GITHUB_OUTPUT

- name: Configure
- name: Configure Linux/MacOS
id: build
if: runner.os != 'Windows'
shell: bash
run: |
# There were some issues on the ARM64 MacOS runners with trying to build x86 object,
Expand All @@ -212,32 +255,54 @@ jobs:
${{ needs.prepare.outputs.target-cmake-flags }} \
-C clang/cmake/caches/Release.cmake

- name: Build
- name: Build Linux/MacOS
if: runner.os != 'Windows'
shell: bash
run: |
ninja -v -C ${{ steps.setup-stage.outputs.build-prefix }}/build stage2-package
release_dir=`find ${{ steps.setup-stage.outputs.build-prefix }}/build -iname 'stage2-bins'`
mv $release_dir/${{ needs.prepare.outputs.release-binary-filename }} .

- name: Build Windows
id: build-windows
if: runner.os == 'Windows'
env:
LLVM_VERSION: ${{ needs.prepare.outputs.release-version }}
run: |
subst S: ${{ github.workspace }}
cd S:\llvm\utils\release\
.\build_llvm_release.bat "--$($env:RUNNER_ARCH.ToLower())" --version $env:LLVM_VERSION --local-python --skip-checkout
$installer = (Get-ChildItem -Recurse -Filter "*.exe" | Select-Object -First 1).fullName
$tarball = (Get-ChildItem -Recurse -Filter "*.tar.xz" | Select-Object -First 1).fullName
# Move installer to top-level directory so it is easier to upload.
mv $installer $env:GITHUB_WORKSPACE
mv $tarball $env:GITHUB_WORKSPACE
echo "windows-installer-filename=$(Split-Path -Path $installer -Leaf)" >> $env:GITHUB_OUTPUT

- name: Generate sha256 digest for binaries
id: digest
shell: bash
env:
RELEASE_BINARY_FILENAME: ${{ needs.prepare.outputs.release-binary-filename }}
# This will be empty on non-Windows builds.
WINDOWS_INSTALLER_FILENAME: ${{ steps.build-windows.outputs.windows-installer-filename }}
run: |
echo "digest=$(cat $RELEASE_BINARY_FILENAME | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
echo "digest=$(cat $WINDOWS_INSTALLER_FILENAME $RELEASE_BINARY_FILENAME | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT

- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
id: artifact-upload
with:
name: ${{ runner.os }}-${{ runner.arch }}-release-binary
# Due to path differences on Windows when running in bash vs running on node,
# we need to search for files in the current workspace.
# The steps.build-windows.* variables will be empty on Linux/MacOS.
path: |
${{ needs.prepare.outputs.release-binary-filename }}
${{ steps.build-windows.outputs.windows-installer-filename }}

- name: Run Tests
# These almost always fail so don't let them fail the build and prevent the uploads.
if : runner.os != 'Windows'
continue-on-error: true
run: |
ninja -C ${{ steps.setup-stage.outputs.build-prefix }}/build stage2-check-all
Expand Down
Loading