Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
01f8792
Update toml_edit to 0.25.
ciaranra May 28, 2026
8bdec31
Update wasmtime to 45.
ciaranra May 28, 2026
6c5cebf
Update nalgebra to 0.35.
ciaranra May 28, 2026
517dd70
Update dependencies and LLVM tooling.
ciaranra May 31, 2026
384ca5e
Fix LLVM 21 migration and pointer metadata.
ciaranra Jun 1, 2026
fa89af2
Update tket and LLVM 21 QIR tests
ciaranra Jun 1, 2026
ec489e3
Refresh generated lockfiles
ciaranra Jun 1, 2026
96b1ffe
Fix lint check issues
ciaranra Jun 2, 2026
1724000
Fix LLVM 21 CI setup
ciaranra Jun 3, 2026
3826c34
Keep Chocolatey for Windows LLVM setup
ciaranra Jun 3, 2026
083fecf
Use LLVM archive on Windows CI
ciaranra Jun 3, 2026
f20055a
Use manylinux 2.34 for LLVM wheels
ciaranra Jun 3, 2026
099f54b
Fix Linux LLVM wheel setup
ciaranra Jun 3, 2026
15f7262
Fix Windows LLVM setup and docs timeout
ciaranra Jun 3, 2026
7e4a8aa
Fix LLVM CI libclang setup
ciaranra Jun 4, 2026
d0fcb02
Fix libclang path lint
ciaranra Jun 4, 2026
ff49e49
Fix Linux wheel policy
ciaranra Jun 4, 2026
4b42fc8
Fix macOS wheel deployment target
ciaranra Jun 4, 2026
2706d1f
Fix Linux wheel compiler
ciaranra Jun 4, 2026
bcacb19
Fix Linux wheel repair path
ciaranra Jun 4, 2026
52da048
Fix Windows LLVM extraction
ciaranra Jun 5, 2026
abdb945
Fix Windows LLVM CI linking
ciaranra Jun 5, 2026
d417c72
Use conda-forge LLVM on Windows
ciaranra Jun 5, 2026
e5936a3
Fix Windows micromamba path detection
ciaranra Jun 6, 2026
af2fc5b
Fix Windows conda LLVM setup
ciaranra Jun 6, 2026
9cbe64f
Install Windows LLVM zlib import library
ciaranra Jun 6, 2026
2ac6edf
Repair Windows LLVM system libs
ciaranra Jun 7, 2026
98236ac
Normalize Windows LLVM paths for bindgen
ciaranra Jun 8, 2026
95bae61
Fix Windows LLVM path test
ciaranra Jun 8, 2026
978b5b2
Fix Windows Python LLVM DLL loading
ciaranra Jun 8, 2026
ccf9a33
Fix Windows lint dead code
ciaranra Jun 8, 2026
39d44be
Harden Windows LLVM downloads
ciaranra Jun 8, 2026
29eafe6
Fix dynamic result wait synchronization
ciaranra Jun 8, 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
39 changes: 27 additions & 12 deletions .github/workflows/julia-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ permissions:

env:
TRIGGER_ON_PR_PUSH: true # Set to true to enable triggers on PR pushes
LLVM_VERSION: "21.1"
LLVM_RELEASE_VERSION: "21.1.8"

on:
push:
Expand Down Expand Up @@ -123,35 +125,48 @@ jobs:
- name: Set up Rust
run: rustup show

- name: Install LLVM 14.0.6 using pecos-llvm (Unix)
- name: Install LLVM 21.1 (Unix)
if: runner.os != 'Windows'
run: |
echo "Installing LLVM using pecos..."
cargo run --locked -p pecos-cli --release -- install llvm
if [ "$RUNNER_OS" = "macOS" ]; then
echo "Installing LLVM 21 with Homebrew..."
HOMEBREW_NO_AUTO_UPDATE=1 brew install llvm@21
LLVM_PREFIX="$(brew --prefix llvm@21)"
else
echo "Installing LLVM 21.1 using PECOS-managed packages..."
cargo run --locked -p pecos-cli --release -- llvm ensure --managed --no-configure || bash scripts/ci/install-llvm-21-conda-linux.sh
LLVM_PREFIX="$HOME/.pecos/deps/llvm-21.1"
fi

echo "Setting LLVM environment variables..."
export PECOS_LLVM=$(cargo run --locked -p pecos-cli --release -- llvm find 2>/dev/null)
export LLVM_SYS_140_PREFIX="$PECOS_LLVM"
cargo run --locked -p pecos-cli --release -- llvm configure "$LLVM_PREFIX"
export PECOS_LLVM="$LLVM_PREFIX"
export LLVM_SYS_211_PREFIX="$LLVM_PREFIX"

echo "PECOS_LLVM=$PECOS_LLVM" >> $GITHUB_ENV
echo "LLVM_SYS_140_PREFIX=$LLVM_SYS_140_PREFIX" >> $GITHUB_ENV
echo "LLVM_SYS_211_PREFIX=$LLVM_SYS_211_PREFIX" >> $GITHUB_ENV

echo "Verifying LLVM installation..."
cargo run --locked -p pecos-cli --release -- llvm check

- name: Install LLVM 14.0.6 using pecos-llvm (Windows)
- name: Install LLVM 21.1 (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Write-Host "Installing LLVM using pecos..."
cargo run --locked -p pecos-cli --release -- install llvm
$llvmRoot = Join-Path $env:USERPROFILE ".pecos\deps\llvm-21.1"
$llvmPrefix = Join-Path $llvmRoot "Library"
Write-Host "Installing conda-forge LLVM 21.1..."
./scripts/ci/install-llvm-21-windows.ps1 -InstallDir $llvmRoot -Version ${{ env.LLVM_RELEASE_VERSION }}

Write-Host "Setting LLVM environment variables..."
$env:PECOS_LLVM = (cargo run --locked -p pecos-cli --release -- llvm find 2>$null)
$env:LLVM_SYS_140_PREFIX = $env:PECOS_LLVM
$env:PECOS_LLVM = $llvmPrefix
$env:LLVM_SYS_211_PREFIX = $env:PECOS_LLVM
$env:LIBCLANG_PATH = Join-Path $llvmPrefix "bin"
cargo run --locked -p pecos-cli --release -- llvm configure "$env:PECOS_LLVM"

"PECOS_LLVM=$env:PECOS_LLVM" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LLVM_SYS_140_PREFIX=$env:LLVM_SYS_140_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LLVM_SYS_211_PREFIX=$env:LLVM_SYS_211_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LIBCLANG_PATH=$env:LIBCLANG_PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

Write-Host "Verifying LLVM installation..."
cargo run --locked -p pecos-cli --release -- llvm check
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/julia-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,23 +65,23 @@ jobs:
# NOTE: LLVM is not currently needed for Julia FFI since we use pecos with default-features = false
# Keeping this commented out in case we need to re-enable LLVM features in the future.
#
# - name: Install LLVM 14.0.6 using pecos (Unix)
# - name: Install LLVM 21.1 using pecos (Unix)
# if: runner.os != 'Windows'
# run: |
# echo "Installing LLVM using pecos..."
# cargo run -p pecos-cli --release -- install llvm
#
# echo "Setting LLVM environment variables..."
# export PECOS_LLVM=$(cargo run -p pecos-cli --release -- llvm find 2>/dev/null)
# export LLVM_SYS_140_PREFIX="$PECOS_LLVM"
# export LLVM_SYS_211_PREFIX="$PECOS_LLVM"
#
# echo "PECOS_LLVM=$PECOS_LLVM" >> $GITHUB_ENV
# echo "LLVM_SYS_140_PREFIX=$LLVM_SYS_140_PREFIX" >> $GITHUB_ENV
# echo "LLVM_SYS_211_PREFIX=$LLVM_SYS_211_PREFIX" >> $GITHUB_ENV
#
# echo "Verifying LLVM installation..."
# cargo run -p pecos-cli --release -- llvm check
#
# - name: Install LLVM 14.0.6 using pecos (Windows)
# - name: Install LLVM 21.1 using pecos (Windows)
# if: runner.os == 'Windows'
# shell: pwsh
# run: |
Expand All @@ -90,10 +90,10 @@ jobs:
#
# Write-Host "Setting LLVM environment variables..."
# $env:PECOS_LLVM = (cargo run -p pecos-cli --release -- llvm find 2>$null)
# $env:LLVM_SYS_140_PREFIX = $env:PECOS_LLVM
# $env:LLVM_SYS_211_PREFIX = $env:PECOS_LLVM
#
# "PECOS_LLVM=$env:PECOS_LLVM" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# "LLVM_SYS_140_PREFIX=$env:LLVM_SYS_140_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# "LLVM_SYS_211_PREFIX=$env:LLVM_SYS_211_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
#
# Write-Host "Verifying LLVM installation..."
# cargo run -p pecos-cli --release -- llvm check
Expand Down
Loading
Loading