aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test_windows.yml
diff options
context:
space:
mode:
authordundargoc <gocdundar@gmail.com>2024-03-03 12:01:37 +0100
committerdundargoc <33953936+dundargoc@users.noreply.github.com>2024-03-23 23:19:29 +0100
commitd3e51603bc94fac68cd2c92ae7ebc90baa8471fe (patch)
tree0e9885c67aa38e46e64c158e98f376b5a8c5c304 /.github/workflows/test_windows.yml
parentca6dbf3558cec83f1d42a1e5f670c40c5893554e (diff)
downloadrneovim-d3e51603bc94fac68cd2c92ae7ebc90baa8471fe.tar.gz
rneovim-d3e51603bc94fac68cd2c92ae7ebc90baa8471fe.tar.bz2
rneovim-d3e51603bc94fac68cd2c92ae7ebc90baa8471fe.zip
ci(windows): optionally test windows with ASAN
Add the label `ci:windows-asan` to enable it.
Diffstat (limited to '.github/workflows/test_windows.yml')
-rw-r--r--.github/workflows/test_windows.yml71
1 files changed, 71 insertions, 0 deletions
diff --git a/.github/workflows/test_windows.yml b/.github/workflows/test_windows.yml
new file mode 100644
index 0000000000..fec2275cbd
--- /dev/null
+++ b/.github/workflows/test_windows.yml
@@ -0,0 +1,71 @@
+name: windows
+on:
+ workflow_call:
+ inputs:
+ build_flags:
+ type: string
+ functionaltest_timeout:
+ default: 20
+ type: number
+
+jobs:
+ windows:
+ runs-on: windows-2022
+ timeout-minutes: 45
+ strategy:
+ fail-fast: false
+ matrix:
+ test: [functional, old]
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ./.github/actions/setup
+
+ - name: Build deps
+ run: |
+ cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo'
+ cmake --build .deps
+
+ - name: Build
+ run: |
+ cmake --preset ci -D CMAKE_BUILD_TYPE='RelWithDebInfo' ${{ inputs.build_flags }}
+ cmake --build build
+
+ - name: Install test deps
+ run: |
+ $PSNativeCommandArgumentPassing = 'Legacy'
+
+ & build\bin\nvim.exe "--version"
+
+ # Ensure that the "win32" feature is set.
+ & build\bin\nvim -u NONE --headless -c 'exe !has(\"win32\").\"cq\"'
+
+ python -m pip install pynvim
+ # Sanity check
+ python -c "import pynvim; print(str(pynvim))"
+
+ node --version
+ npm.cmd --version
+
+ npm.cmd install -g neovim
+ Get-Command -CommandType Application neovim-node-host.cmd
+ npm.cmd link neovim
+
+ - if: ${{ matrix.test == 'functional' }}
+ name: functionaltest
+ timeout-minutes: ${{ inputs.functionaltest_timeout }}
+ run: cmake --build build --target functionaltest
+
+ - if: ${{ matrix.test == 'old' }}
+ uses: msys2/setup-msys2@v2
+ with:
+ update: true
+ pacboy: >-
+ make:p gcc:p diffutils:p
+ release: false
+
+ - if: ${{ matrix.test == 'old' }}
+ name: oldtest
+ shell: msys2 {0}
+ run: |
+ cd test/old/testdir
+ mingw32-make VERBOSE=1