Page MenuHomePhorge

build-windows-x64.yml
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

build-windows-x64.yml

name: Build Windows x64
on:
workflow_dispatch:
workflow_call:
inputs:
build_timestamp:
required: true
type: string
jobs:
windows-x64:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
install: >-
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-meson
mingw-w64-x86_64-ninja
mingw-w64-x86_64-cmake
mingw-w64-x86_64-openssl
mingw-w64-x86_64-libsodium
mingw-w64-x86_64-nodejs
git
- name: Cache native dependencies
id: cache-deps
uses: actions/cache@v4
with:
path: ${{ runner.temp }}/deps-cache
key: deps-windows-x64-llhttp-9.2.1-v1
- name: Build llhttp
if: steps.cache-deps.outputs.cache-hit != 'true'
run: |
DEPS_CACHE=$(cygpath "${{ runner.temp }}/deps-cache")
git clone --depth 1 --branch release/v9.2.1 https://github.com/nodejs/llhttp.git /tmp/llhttp
cd /tmp/llhttp
cmake -G "MinGW Makefiles" -B build -DCMAKE_INSTALL_PREFIX=$DEPS_CACHE -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
cmake --build build
cmake --install build
ln -sf $DEPS_CACHE/lib/pkgconfig/libllhttp.pc $DEPS_CACHE/lib/pkgconfig/llhttp.pc
- run: npm ci
working-directory: src/tools
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-gnu
- uses: Swatinem/rust-cache@v2
with:
workspaces: src/strip
- name: Cache oxc build
uses: actions/cache@v4
with:
path: build/oxc-target
key: oxc-windows-x64-${{ hashFiles('src/strip/Cargo.lock') }}
restore-keys: oxc-windows-x64-
- name: Cache meson build
uses: actions/cache@v4
with:
path: |
vendor/*/
build/
!build/oxc-target
key: meson-windows-x64-${{ hashFiles('vendor/*.wrap', 'meson.build', 'src/**/*.c', 'src/**/*.h') }}
restore-keys: meson-windows-x64-
- run: |
DEPS_CACHE=$(cygpath "${{ runner.temp }}/deps-cache")
DEPS_CACHE_WIN=$(cygpath -m "${{ runner.temp }}/deps-cache")
export PATH="/c/Users/$USER/.cargo/bin:$PATH"
export PKG_CONFIG_PATH="$DEPS_CACHE/lib/pkgconfig:$PKG_CONFIG_PATH"
meson setup build -Dc_std=gnu2x -Dbuild_timestamp=${{ inputs.build_timestamp }} -Ddeps_prefix_cmake="$DEPS_CACHE_WIN" && meson compile -C build
- uses: actions/upload-artifact@v4
with:
name: ant-windows-x64
path: build/ant.exe

File Metadata

Mime Type
text/plain
Expires
Sun, May 3, 9:19 AM (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
539788
Default Alt Text
build-windows-x64.yml (2 KB)

Event Timeline