build(ci): bump zig to 0.15.1 and add more platforms

- Bump zig version to 0.15.1 and workaround zig fetch hang (ziglang/zig#24916)
- add mac os zig build (currently without luajit, linker failure)
- Add windows zig build, currently with very limited testing
This commit is contained in:
bfredl
2025-08-07 11:36:21 +02:00
parent 2debe2f30a
commit 0458a1e694
8 changed files with 95 additions and 33 deletions

View File

@@ -204,7 +204,8 @@ jobs:
name: Show logs
run: cat $(find "$LOG_DIR" -type f)
zig-build:
# TODO: matrixify
zig-build-linux:
runs-on: ubuntu-24.04
timeout-minutes: 45
name: build using zig build (linux)
@@ -212,8 +213,15 @@ jobs:
- uses: actions/checkout@v5
- uses: mlugg/setup-zig@v2
with:
version: 0.14.1
version: 0.15.1
- run: sudo apt-get install -y inotify-tools
# This is a workaround for "zig fetch" being unable to decompress lua-dev-deps.tar.gz
# As the hash in build.zig.zon is calculated after decompression, we can preload the cache instead.
# This is hopefully fixed for zig 0.15.2, see https://github.com/ziglang/zig/issues/24916
- run: curl -L https://github.com/neovim/deps/raw/06ef2b58b0876f8de1a3f5a710473dcd7afff251/opt/lua-dev-deps.tar.gz | zcat > lua-dev-deps.tar
- run: zig fetch lua-dev-deps.tar
- run: zig build test_nlua0
- run: zig build nvim && ./zig-out/bin/nvim --version
- run: zig build unittest
@@ -223,6 +231,42 @@ jobs:
- run: cd runtime; ../zig-out/bin/nvim -u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit
- run: diff -u runtime/doc/tags zig-out/runtime/doc/tags
zig-build-macos-15:
runs-on: macos-15
timeout-minutes: 45
name: build using zig build (macos 15)
steps:
- uses: actions/checkout@v4
- uses: mlugg/setup-zig@v2
with:
version: 0.15.1
- run: curl -L https://github.com/neovim/deps/raw/06ef2b58b0876f8de1a3f5a710473dcd7afff251/opt/lua-dev-deps.tar.gz | zcat > lua-dev-deps.tar
- run: zig fetch lua-dev-deps.tar
- run: zig build test_nlua0 -Dluajit=false
- run: zig build nvim_bin -Dluajit=false && ./zig-out/bin/nvim --version
- run: zig build functionaltest -Dluajit=false
zig-build-windows:
runs-on: windows-2022
timeout-minutes: 45
name: build using zig build (windows)
steps:
- uses: actions/checkout@v4
- uses: mlugg/setup-zig@v2
with:
version: 0.15.1
- run: curl -L https://github.com/neovim/deps/raw/06ef2b58b0876f8de1a3f5a710473dcd7afff251/opt/lua-dev-deps.tar.gz -O
- run: 7z x lua-dev-deps.tar.gz
- run: zig fetch lua-dev-deps.tar
- run: zig build test_nlua0
- run: zig build nvim_bin
- run: ./zig-out/bin/nvim --version
# TODO: support entire test suite
- run: zig build functionaltest -- test/functional/api/buffer_spec.lua
windows:
uses: ./.github/workflows/test_windows.yml