Skip to content

Fix ICU static linking with vcpkg toolchain #902

Fix ICU static linking with vcpkg toolchain

Fix ICU static linking with vcpkg toolchain #902

Workflow file for this run

name: CI
env:
LLVM_VERSION: 19
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events
push:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
llvm_version:
description: "LLVM version"
default: "19"
jobs:
macos:
name: macOS
runs-on: ${{ matrix.runner }}
timeout-minutes: 90
strategy:
matrix:
include:
- runner: macos-13-large
cpp_flags: "-D_LIBCXX_ENABLE_ASSERTIONS=1"
cpu: haswell
label: bun-webkit-macos-amd64-debug
brew_prefix: /usr/local/opt
package_json_arch: "x64"
CMAKE_BUILD_TYPE: Debug
- runner: macos-13-xlarge
cpp_flags: "-D_LIBCXX_ENABLE_ASSERTIONS=1"
cpu: native
label: bun-webkit-macos-arm64-debug
brew_prefix: /opt/homebrew/opt
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: Debug
- runner: macos-13-xlarge
cpp_flags: "-D_LIBCXX_ENABLE_ASSERTIONS=1"
cpu: native
label: bun-webkit-macos-arm64-debug-asan
brew_prefix: /opt/homebrew/opt
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: Debug
ENABLE_MALLOC_HEAP_BREAKDOWN: "OFF"
ENABLE_SANITIZERS: "address,undefined"
# We aren't doing LTO on macOS, for now.
# - runner: macos-13-large
# cpp_flags: -flto=full -fwhole-program-vtables -fforce-emit-vtables -D_LIBCXX_ENABLE_ASSERTIONS=0
# cpu: haswell
# label: bun-webkit-macos-amd64-lto
# brew_prefix: /usr/local/opt
# package_json_arch: "x64"
# CMAKE_BUILD_TYPE: Release
- runner: macos-13-large
cpp_flags: ""
cpu: haswell
label: bun-webkit-macos-amd64
brew_prefix: /usr/local/opt
package_json_arch: "x64"
CMAKE_BUILD_TYPE: Release
# We aren't doing LTO on macOS, for now.
# - runner: macos-13-xlarge
# cpp_flags: -flto=full -fwhole-program-vtables -fforce-emit-vtables -D_LIBCXX_ENABLE_ASSERTIONS=0
# cpu: native
# label: bun-webkit-macos-arm64-lto
# brew_prefix: /opt/homebrew/opt
# package_json_arch: "arm64"
# CMAKE_BUILD_TYPE: Release
- runner: macos-13-xlarge
cpp_flags: "-D_LIBCXX_ENABLE_ASSERTIONS=0"
cpu: native
label: bun-webkit-macos-arm64
brew_prefix: /opt/homebrew/opt
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: Release
- runner: macos-13-xlarge
cpp_flags: "-D_LIBCXX_ENABLE_ASSERTIONS=1"
cpu: native
label: bun-webkit-macos-arm64-asan
brew_prefix: /opt/homebrew/opt
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: Release
ENABLE_SANITIZERS: "address,undefined"
steps:
- name: "Set LLVM version"
if: github.event == 'workflow_dispatch'
run: echo "LLVM_VERSION=${{inputs.llvm_version}}" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
sparse-checkout-cone-mode: false
sparse-checkout: |
/*
!LayoutTests/
!JSTests/
- name: PATH
env:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
run: |
echo "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin" >> $GITHUB_PATH
brew install llvm@${{env.LLVM_VERSION}} python icu4c ninja -f --overwrite
brew link llvm@${{env.LLVM_VERSION}} -f --overwrite
- name: Run
env:
ICU_INCLUDE_DIRS: ${{matrix.brew_prefix}}/icu4c/include
LDFLAGS: "${{env.LDFLAGS}} "
CC: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/clang"
CXX: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/clang++"
RANLIB: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/llvm-ranlib"
AR: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/llvm-ar"
CMAKE_C_COMPILER: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/clang"
CMAKE_CXX_COMPILER: "${{matrix.brew_prefix}}/llvm@${{env.LLVM_VERSION}}/bin/clang++"
CMAKE_C_FLAGS: " -fno-exceptions ${{matrix.cpp_flags}} -fvisibility=hidden -fvisibility-inlines-hidden -O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -faddrsig "
CMAKE_CXX_FLAGS: " -fno-exceptions ${{matrix.cpp_flags}} -fvisibility=hidden -fvisibility-inlines-hidden -O3 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -faddrsig -fno-c++-static-destructors "
CMAKE_OSX_DEPLOYMENT_TARGET: "13.0"
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
PACKAGE_JSON_ARCH: ${{matrix.package_json_arch}}
PACKAGE_JSON_LABEL: ${{matrix.label}}
ENABLE_MALLOC_HEAP_BREAKDOWN: ${{matrix.ENABLE_MALLOC_HEAP_BREAKDOWN}}
ENABLE_SANITIZERS: ${{matrix.ENABLE_SANITIZERS}}
run: GITHUB_REPOSITORY=$GITHUB_REPOSITORY bash mac-release.bash
- uses: actions/upload-artifact@v4
with:
name: ${{matrix.label}}
path: ${{runner.temp}}/bun-webkit.tar.gz
linux:
name: Linux
runs-on: ${{matrix.os}}
strategy:
matrix:
include:
- lto_flag: ""
label: bun-webkit-linux-amd64-debug
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-arm64-debug
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-arm64-debug-asan
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
ENABLE_SANITIZERS: "address,undefined"
- lto_flag: ""
label: bun-webkit-linux-amd64-debug-asan
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
ENABLE_SANITIZERS: "address,undefined"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-arm64-lto
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-arm64
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-amd64-lto
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-amd64
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-amd64-asan
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
ENABLE_SANITIZERS: "address,undefined"
- lto_flag: ""
label: bun-webkit-linux-arm64-asan
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O3 -DNDEBUG=1"
ENABLE_SANITIZERS: "address,undefined"
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
sparse-checkout-cone-mode: false
sparse-checkout: |
/*
!LayoutTests/
!JSTests/
- uses: docker/setup-buildx-action@v2
id: buildx
with:
install: true
- name: Run
env:
RELEASE_FLAGS: ${{matrix.RELEASE_FLAGS}}
ENABLE_SANITIZERS: ${{matrix.ENABLE_SANITIZERS}}
run: |
rm -rf ${{runner.temp}}/bun-webkit ${{runner.temp}}/bun-webkit.tar.gz
WEBKIT_RELEASE_TYPE=${{matrix.CMAKE_BUILD_TYPE}} CPU="native" cpu=native LTO_FLAG="${{matrix.lto_flag}}" temp=${{runner.temp}} ENABLE_SANITIZERS="${{matrix.ENABLE_SANITIZERS}}" bash release.sh
cd ${{runner.temp}}
echo "#define BUN_WEBKIT_VERSION \"${{github.sha}}\"" >> bun-webkit/include/cmakeconfig.h
echo '{ "name": "${{matrix.label}}", "version": "0.0.1-${{github.sha}}", "os": ["linux"], "cpu": ["${{matrix.package_json_arch}}"], "repository": "https://github.com/${{github.repository}}" }' > bun-webkit/package.json
rm -rf bun-webkit/lib/*.so
rm -rf bun-webkit/lib/*.so.*
tar -czf bun-webkit.tar.gz bun-webkit
rm -rf bun-webkit
- uses: actions/upload-artifact@v4
with:
name: ${{matrix.label}}
path: ${{runner.temp}}/bun-webkit.tar.gz
windows:
strategy:
matrix:
include:
- runner: windows
build-type: Release
package_json_arch: "x64"
label: bun-webkit-windows-amd64
- runner: windows
build-type: Debug
package_json_arch: "x64"
label: bun-webkit-windows-amd64-debug
- runner: windows-11-arm
build-type: Release
package_json_arch: "arm64"
label: bun-webkit-windows-arm64
- runner: windows-11-arm
build-type: Debug
package_json_arch: "arm64"
label: bun-webkit-windows-arm64-debug
runs-on: ${{ matrix.runner }}
timeout-minutes: 90
steps:
- name: Disable Windows Defender
shell: pwsh
run: |
# Stop Windows Defender services
Stop-Service -Name WinDefend -Force -ErrorAction SilentlyContinue
Stop-Service -Name WdNisSvc -Force -ErrorAction SilentlyContinue
# Disable real-time protection via registry
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender\Real-Time Protection" -Name DisableRealtimeMonitoring -Value 1 -Force -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender" -Name DisableAntiSpyware -Value 1 -Force -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender" -Name DisableAntiVirus -Value 1 -Force -ErrorAction SilentlyContinue
# Disable via PowerShell preferences (belt and suspenders)
Set-MpPreference -DisableRealtimeMonitoring $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableBehaviorMonitoring $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableBlockAtFirstSeen $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableIOAVProtection $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisablePrivacyMode $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableScriptScanning $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableArchiveScanning $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -SignatureDisableUpdateOnStartupWithoutEngine $true -Force -ErrorAction SilentlyContinue
Set-MpPreference -DisableIntrusionPreventionSystem $true -Force -ErrorAction SilentlyContinue
# Add exclusions for the entire system drive as a last resort
Add-MpPreference -ExclusionPath "C:\" -Force -ErrorAction SilentlyContinue
Add-MpPreference -ExclusionProcess "*" -Force -ErrorAction SilentlyContinue
- name: Install dependencies for Windows
run: |
# Detect architecture
$isARM64 = $env:PROCESSOR_ARCHITECTURE -eq "ARM64"
# Install Scoop if not available
if (!(Get-Command scoop -ErrorAction SilentlyContinue)) {
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
$env:PATH = "$env:USERPROFILE\scoop\shims;$env:PATH"
echo "$env:USERPROFILE\scoop\shims" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
}
# On ARM64, manually install 7zip to avoid Scoop's extraction issues
if ($isARM64) {
$7zipUrl = "https://www.7-zip.org/a/7z2501-arm64.exe"
$7zipExe = "$env:TEMP\7z-installer.exe"
Invoke-WebRequest -Uri $7zipUrl -OutFile $7zipExe
# Extract manually
Start-Process -FilePath $7zipExe -ArgumentList "/S", "/D=C:\Program Files\7-Zip" -Wait
echo "C:\Program Files\7-Zip" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# Tell Scoop to use the external 7zip we just installed
scoop config use_external_7zip true
scoop config 7zip_path "C:\Program Files\7-Zip\7z.exe"
} else {
# x64 can use normal Scoop 7zip installation
scoop install 7zip
}
# Skip aria2 on ARM64 as it may cause issues
if (-not $isARM64) {
scoop install aria2
}
# Install tools via Scoop one by one for better error isolation
if ($isARM64) {
# Use ARM64-specific packages
scoop install cmake
scoop install ninja
scoop install python
scoop install perl
scoop install make
# Download and extract LLVM ARM64 directly (Scoop's pre_install fails)
Write-Host "Downloading LLVM ARM64..."
$llvmVersion = "19.1.4"
$llvmUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$llvmVersion/LLVM-$llvmVersion-woa64.exe"
$llvmPath = "C:\LLVM"
# Download LLVM installer
$llvmInstaller = "$env:TEMP\llvm-arm64.exe"
Invoke-WebRequest -Uri $llvmUrl -OutFile $llvmInstaller
# Extract with 7zip (faster than installer)
Write-Host "Extracting LLVM (this may take a few minutes)..."
$extractResult = & "C:\Program Files\7-Zip\7z.exe" x $llvmInstaller -o"$llvmPath" -y 2>&1
Write-Host "7zip extraction completed with result: $LASTEXITCODE"
# Verify extraction worked
if (Test-Path "$llvmPath\bin\clang.exe") {
Write-Host "LLVM extracted successfully"
# Add to PATH
echo "$llvmPath\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
Write-Host "LLVM ARM64 installed and added to PATH"
} else {
Write-Host "ERROR: LLVM extraction failed - clang.exe not found"
exit 1
}
Write-Host "ARM64 dependency installation completed, continuing..."
} else {
# Use x64 packages
scoop install cmake
scoop install ninja
scoop install python
scoop install perl
scoop install llvm
scoop install make
}
Write-Host "Starting Ruby installation phase..."
# Install Ruby manually on ARM64 (Scoop's Ruby fails on ARM64)
if ($isARM64) {
Write-Host "Skipping Ruby installation on ARM64 - using pre-installed Ruby"
# GitHub Actions ARM64 runners come with Ruby pre-installed
} else {
# x64 can use Scoop's Ruby
Write-Host "Installing Ruby via Scoop..."
scoop install ruby
Write-Host "Ruby installation completed"
}
# Install vcpkg
git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg
cd C:\vcpkg
.\bootstrap-vcpkg.bat
$env:VCPKG_ROOT = "C:\vcpkg"
echo "VCPKG_ROOT=C:\vcpkg" >> $env:GITHUB_ENV
- uses: actions/checkout@v4
with:
sparse-checkout-cone-mode: false
sparse-checkout: |
/*
!LayoutTests/
!JSTests/
- name: Build WebKit
run: |
$env:Path = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\;" + $env:Path
$env:WEBKIT_OUTPUT_DIR = "bun-webkit"
$env:BUN_WEBKIT_VERSION = "${{ github.sha }}"
$env:CMAKE_BUILD_TYPE = "${{matrix.build-type}}"
$env:PACKAGE_JSON_LABEL = "${{matrix.label}}"
$env:GITHUB_SHA = "${{ github.sha }}"
$env:PACKAGE_JSON_ARCH = "${{matrix.package_json_arch}}"
$env:GITHUB_REPOSITORY = "${{ github.repository }}"
# Explicitly set architecture to avoid detection issues
if ("${{matrix.package_json_arch}}" -eq "arm64") {
$env:BUILD_ARM64 = "1"
} else {
$env:BUILD_ARM64 = "0"
}
./windows-release.ps1
- uses: actions/upload-artifact@v4
with:
name: ${{matrix.label}}
path: bun-webkit.tar.gz
linux-musl:
name: Linux
runs-on: ${{matrix.os}}
strategy:
matrix:
include:
- lto_flag: ""
label: bun-webkit-linux-amd64-musl-debug
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Debug"
- lto_flag: ""
label: bun-webkit-linux-arm64-musl-debug
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Debug"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-arm64-musl-lto
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "MinSizeRel"
- lto_flag: ""
label: bun-webkit-linux-arm64-musl
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "MinSizeRel"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-amd64-musl-lto
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "MinSizeRel"
- lto_flag: ""
label: bun-webkit-linux-amd64-musl
os: linux-x64-gh
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "MinSizeRel"
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
sparse-checkout-cone-mode: false
sparse-checkout: |
/*
!LayoutTests/
!JSTests/
- uses: docker/setup-buildx-action@v2
id: buildx
with:
install: true
- name: Run
run: |
rm -rf ${{runner.temp}}/bun-webkit ${{runner.temp}}/bun-webkit.tar.gz
WEBKIT_RELEASE_TYPE=${{matrix.CMAKE_BUILD_TYPE}} CPU="native" cpu=native LTO_FLAG="${{matrix.lto_flag}}" temp=${{runner.temp}} bash musl-release.sh
cd ${{runner.temp}}
echo "#define BUN_WEBKIT_VERSION \"${{github.sha}}\"" >> bun-webkit/include/cmakeconfig.h
echo '{ "name": "${{matrix.label}}", "version": "0.0.1-${{github.sha}}", "os": ["linux"], "cpu": ["${{matrix.package_json_arch}}"], "repository": "https://github.com/${{github.repository}}" }' > bun-webkit/package.json
rm -rf bun-webkit/lib/*.so
rm -rf bun-webkit/lib/*.so.*
tar -czf bun-webkit.tar.gz bun-webkit
rm -rf bun-webkit
- uses: actions/upload-artifact@v4
with:
name: ${{matrix.label}}
path: ${{runner.temp}}/bun-webkit.tar.gz
release:
name: release
permissions:
contents: write
runs-on: ubuntu-latest
timeout-minutes: 90
if: github.ref == 'refs/heads/main'
needs:
- linux
- macos
- windows
- linux-musl
steps:
- run: uname -a
- run: free
- run: env
- run: mount
- run: lscpu
- run: lsmem
- run: lsblk
- run: lspci
- run: lsipc
- run: whoami
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64
path: ${{runner.temp}}/bun-webkit-linux-amd64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64
path: ${{runner.temp}}/bun-webkit-linux-arm64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-debug
path: ${{runner.temp}}/bun-webkit-linux-amd64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-debug-asan
path: ${{runner.temp}}/bun-webkit-linux-amd64-debug-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-debug
path: ${{runner.temp}}/bun-webkit-linux-arm64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-debug-asan
path: ${{runner.temp}}/bun-webkit-linux-arm64-debug-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-arm64
path: ${{runner.temp}}/bun-webkit-macos-arm64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-arm64-asan
path: ${{runner.temp}}/bun-webkit-macos-arm64-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-arm64-debug
path: ${{runner.temp}}/bun-webkit-macos-arm64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-arm64-debug-asan
path: ${{runner.temp}}/bun-webkit-macos-arm64-debug-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-asan
path: ${{runner.temp}}/bun-webkit-linux-amd64-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-asan
path: ${{runner.temp}}/bun-webkit-linux-arm64-asan
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-amd64-debug
path: ${{runner.temp}}/bun-webkit-macos-amd64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-macos-amd64
path: ${{runner.temp}}/bun-webkit-macos-amd64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-lto
path: ${{runner.temp}}/bun-webkit-linux-amd64-lto
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-lto
path: ${{runner.temp}}/bun-webkit-linux-arm64-lto
- uses: actions/download-artifact@v4
with:
name: bun-webkit-windows-amd64
path: ${{runner.temp}}/bun-webkit-windows-amd64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-windows-amd64-debug
path: ${{runner.temp}}/bun-webkit-windows-amd64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-windows-arm64
path: ${{runner.temp}}/bun-webkit-windows-arm64
- uses: actions/download-artifact@v4
with:
name: bun-webkit-windows-arm64-debug
path: ${{runner.temp}}/bun-webkit-windows-arm64-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-musl
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-musl
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-musl-debug
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-musl-debug
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl-debug
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-amd64-musl-lto
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl-lto
- uses: actions/download-artifact@v4
with:
name: bun-webkit-linux-arm64-musl-lto
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl-lto
- name: Rename files
run: |
mkdir -p out
mv ${{runner.temp}}/bun-webkit-linux-amd64/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-musl.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-musl.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-arm64/bun-webkit.tar.gz ./out/bun-webkit-macos-arm64.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-arm64-asan/bun-webkit.tar.gz ./out/bun-webkit-macos-arm64-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-amd64/bun-webkit.tar.gz ./out/bun-webkit-macos-amd64.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-debug-asan/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-debug-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-debug-asan/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-debug-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-debug/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-debug/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl-debug/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-musl-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl-debug/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-musl-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-asan/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-asan/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-arm64-debug/bun-webkit.tar.gz ./out/bun-webkit-macos-arm64-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-arm64-debug-asan/bun-webkit.tar.gz ./out/bun-webkit-macos-arm64-debug-asan.tar.gz
mv ${{runner.temp}}/bun-webkit-macos-amd64-debug/bun-webkit.tar.gz ./out/bun-webkit-macos-amd64-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-lto/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-lto.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-lto/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-lto.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl-lto/bun-webkit.tar.gz ./out/bun-webkit-linux-amd64-musl-lto.tar.gz
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl-lto/bun-webkit.tar.gz ./out/bun-webkit-linux-arm64-musl-lto.tar.gz
mv ${{runner.temp}}/bun-webkit-windows-amd64/bun-webkit.tar.gz ./out/bun-webkit-windows-amd64.tar.gz
mv ${{runner.temp}}/bun-webkit-windows-amd64-debug/bun-webkit.tar.gz ./out/bun-webkit-windows-amd64-debug.tar.gz
mv ${{runner.temp}}/bun-webkit-windows-arm64/bun-webkit.tar.gz ./out/bun-webkit-windows-arm64.tar.gz
mv ${{runner.temp}}/bun-webkit-windows-arm64-debug/bun-webkit.tar.gz ./out/bun-webkit-windows-arm64-debug.tar.gz
- name: Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
tag_name: "autobuild-${{github.sha}}"
- uses: softprops/action-gh-release@v1
with:
tag_name: "autobuild-${{github.sha}}"
files: |
./out/bun-webkit-linux-amd64.tar.gz
./out/bun-webkit-linux-arm64.tar.gz
./out/bun-webkit-linux-amd64-lto.tar.gz
./out/bun-webkit-linux-arm64-lto.tar.gz
./out/bun-webkit-linux-amd64-asan.tar.gz
./out/bun-webkit-linux-arm64-asan.tar.gz
./out/bun-webkit-linux-amd64-debug.tar.gz
./out/bun-webkit-linux-arm64-debug.tar.gz
./out/bun-webkit-linux-amd64-debug-asan.tar.gz
./out/bun-webkit-linux-arm64-debug-asan.tar.gz
- uses: softprops/action-gh-release@v1
with:
tag_name: "autobuild-${{github.sha}}"
files: |
./out/bun-webkit-linux-amd64-musl.tar.gz
./out/bun-webkit-linux-arm64-musl.tar.gz
./out/bun-webkit-linux-amd64-musl-lto.tar.gz
./out/bun-webkit-linux-arm64-musl-lto.tar.gz
./out/bun-webkit-linux-amd64-musl-debug.tar.gz
./out/bun-webkit-linux-arm64-musl-debug.tar.gz
- uses: softprops/action-gh-release@v1
with:
tag_name: "autobuild-${{github.sha}}"
files: |
./out/bun-webkit-macos-arm64.tar.gz
./out/bun-webkit-macos-arm64-asan.tar.gz
./out/bun-webkit-macos-arm64-debug.tar.gz
./out/bun-webkit-macos-arm64-debug-asan.tar.gz
./out/bun-webkit-macos-amd64.tar.gz
./out/bun-webkit-macos-amd64-debug.tar.gz
- uses: softprops/action-gh-release@v1
with:
tag_name: "autobuild-${{github.sha}}"
files: |
./out/bun-webkit-windows-amd64.tar.gz
./out/bun-webkit-windows-amd64-debug.tar.gz
./out/bun-webkit-windows-arm64.tar.gz
./out/bun-webkit-windows-arm64-debug.tar.gz