diff options
| author | dundargoc <gocdundar@gmail.com> | 2024-03-03 12:01:37 +0100 |
|---|---|---|
| committer | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2024-03-23 23:19:29 +0100 |
| commit | d3e51603bc94fac68cd2c92ae7ebc90baa8471fe (patch) | |
| tree | 0e9885c67aa38e46e64c158e98f376b5a8c5c304 /.github/workflows | |
| parent | ca6dbf3558cec83f1d42a1e5f670c40c5893554e (diff) | |
| download | rneovim-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')
| -rw-r--r-- | .github/workflows/optional.yml | 7 | ||||
| -rw-r--r-- | .github/workflows/test.yml | 60 | ||||
| -rw-r--r-- | .github/workflows/test_windows.yml | 71 |
3 files changed, 79 insertions, 59 deletions
diff --git a/.github/workflows/optional.yml b/.github/workflows/optional.yml index 84d71821c5..742d51377f 100644 --- a/.github/workflows/optional.yml +++ b/.github/workflows/optional.yml @@ -46,3 +46,10 @@ jobs: runuser -u qemuci -- cmake -B build -G Ninja -D CI_BUILD=ON -D PREFER_LUA=ON && runuser -u qemuci -- make ${{ matrix.test }} " + + windows-asan: + if: contains(github.event.pull_request.labels.*.name, 'ci:windows-asan') || github.event_name == 'workflow_dispatch' + uses: ./.github/workflows/test_windows.yml + with: + build_flags: "-D ENABLE_ASAN_UBSAN=ON" + functionaltest_timeout: 40 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf1ea48506..d383d96de2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -193,65 +193,7 @@ jobs: run: cat $(find "$LOG_DIR" -type f) 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' - 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: 20 - 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 + uses: ./.github/workflows/test_windows.yml # This job tests the following things: # - Check if Release, MinSizeRel and RelWithDebInfo compiles correctly. 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 |