Skip to content

Commit a2f7e68

Browse files
committed
fix ci/cd
1 parent a9c28a6 commit a2f7e68

3 files changed

Lines changed: 32 additions & 18 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
id: cache-llvm
5555
with:
5656
path: ~/llvm
57-
key: llvm-21.1.8-${{ matrix.target }}
57+
key: llvm-21.1.8-v2-${{ matrix.target }}
5858

5959
- name: Install LLVM 21 (Homebrew)
6060
if: matrix.llvm_method == 'brew'
@@ -82,9 +82,9 @@ jobs:
8282
matrix.target == 'aarch64-unknown-linux-gnu' &&
8383
steps.cache-llvm.outputs.cache-hit != 'true'
8484
run: |
85-
LLVM_VERSION="21.1.8"
86-
LLVM_ARCHIVE="LLVM-${LLVM_VERSION}-Linux-ARM64.tar.xz"
87-
LLVM_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVM_ARCHIVE}"
85+
LLVM_VERSION="21.1.3"
86+
LLVM_ARCHIVE="clang+llvm-${LLVM_VERSION}-aarch64-linux-gnu.tar.xz"
87+
LLVM_URL="https://github.com/ycm-core/llvm/releases/download/${LLVM_VERSION}/${LLVM_ARCHIVE}"
8888
curl -sSfL "$LLVM_URL" -o llvm.tar.xz
8989
mkdir -p "$HOME/llvm"
9090
tar xf llvm.tar.xz --strip-components=1 -C "$HOME/llvm"
@@ -98,18 +98,12 @@ jobs:
9898
shell: pwsh
9999
run: |
100100
$LLVM_VERSION = "21.1.8"
101-
$LLVM_ARCHIVE = "clang+llvm-${LLVM_VERSION}-x86_64-pc-windows-msvc.tar.xz"
102-
$LLVM_URL = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVM_ARCHIVE}"
103-
Invoke-WebRequest -Uri $LLVM_URL -OutFile llvm.tar.xz
104-
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\llvm" | Out-Null
105-
7z x llvm.tar.xz -so | 7z x -si -ttar -o"$env:USERPROFILE\llvm" -aoa
106-
# Move contents up from nested directory
107-
$nested = Get-ChildItem "$env:USERPROFILE\llvm" -Directory | Select-Object -First 1
108-
if ($nested) {
109-
Get-ChildItem $nested.FullName | Move-Item -Destination "$env:USERPROFILE\llvm" -Force
110-
Remove-Item $nested.FullName -Recurse -Force
111-
}
112-
Remove-Item llvm.tar.xz -Force
101+
$LLVM_DIR = "$env:USERPROFILE\llvm"
102+
# Use the official installer which includes llvm-config and all target backends
103+
$LLVM_URL = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/LLVM-${LLVM_VERSION}-win64.exe"
104+
Invoke-WebRequest -Uri $LLVM_URL -OutFile llvm-installer.exe
105+
Start-Process -FilePath .\llvm-installer.exe -ArgumentList "/S","/D=$LLVM_DIR" -Wait -NoNewWindow
106+
Remove-Item llvm-installer.exe -Force
113107
114108
- name: Set LLVM prefix (Linux tarball)
115109
if: matrix.llvm_method == 'tarball' && runner.os == 'Linux'
@@ -124,7 +118,7 @@ jobs:
124118

125119
- name: Install musl tools
126120
if: matrix.target == 'x86_64-unknown-linux-musl'
127-
run: sudo apt-get update && sudo apt-get install -y musl-tools
121+
run: sudo apt-get update && sudo apt-get install -y musl-tools perl make
128122

129123
- name: Install libxml2 (Windows)
130124
if: runner.os == 'Windows'
@@ -150,10 +144,18 @@ jobs:
150144

151145
# ── Build ─────────────────────────────────────────────────────
152146

153-
- name: Build meshc
147+
- name: Build meshc (Unix)
148+
if: runner.os != 'Windows'
149+
run: cargo build --release --target ${{ matrix.target }}
150+
env:
151+
LLVM_SYS_211_PREFIX: ${{ env.LLVM_SYS_211_PREFIX }}
152+
153+
- name: Build meshc (Windows)
154+
if: runner.os == 'Windows'
154155
run: cargo build --release --target ${{ matrix.target }}
155156
env:
156157
LLVM_SYS_211_PREFIX: ${{ env.LLVM_SYS_211_PREFIX }}
158+
RUSTFLAGS: -Clink-args=/FORCE:MULTIPLE
157159

158160
# ── Strip & Package ───────────────────────────────────────────
159161

‎Cargo.lock‎

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎crates/meshc/Cargo.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ tokio = { workspace = true }
2121

2222
[target.'cfg(target_env = "musl")'.dependencies]
2323
mimalloc = { workspace = true }
24+
openssl-sys = { version = "0.9", features = ["vendored"] }
2425

2526
[dev-dependencies]
2627
tempfile = "3"

0 commit comments

Comments
 (0)