neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_windows.yml (2212B)


      1 name: windows
      2 on:
      3  workflow_call:
      4    inputs:
      5      build_flags:
      6        type: string
      7      functionaltest_timeout:
      8        default: 20
      9        type: number
     10  workflow_dispatch:
     11 
     12 jobs:
     13  windows:
     14    runs-on: windows-2025
     15    timeout-minutes: 45
     16    strategy:
     17      fail-fast: false
     18      matrix:
     19        test: [functional, old]
     20    steps:
     21      - uses: actions/checkout@v6
     22      - uses: ./.github/actions/setup
     23 
     24      - name: Build deps
     25        run: |
     26          cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo'
     27          cmake --build .deps
     28 
     29      - name: Build
     30        run: |
     31          cmake --preset ci -D CMAKE_BUILD_TYPE='RelWithDebInfo' ${{ inputs.build_flags }}
     32          cmake --build build
     33 
     34      - name: Install test deps
     35        run: |
     36          $PSNativeCommandArgumentPassing = 'Legacy'
     37 
     38          & build\bin\nvim.exe "--version"
     39 
     40          # Ensure that the "win32" feature is set.
     41          & build\bin\nvim -u NONE --headless -c 'exe !has(\"win32\").\"cq\"'
     42 
     43          python -m pip install pynvim
     44          # Sanity check
     45          python -c "import pynvim; print(str(pynvim))"
     46 
     47          node --version
     48          npm.cmd --version
     49 
     50          npm.cmd install -g neovim
     51          Get-Command -CommandType Application neovim-node-host.cmd
     52          npm.cmd link neovim
     53 
     54      - if: ${{ matrix.test == 'functional' }}
     55        name: functionaltest
     56        timeout-minutes: ${{ inputs.functionaltest_timeout }}
     57        env:
     58          # With parallel tests, use shorter timeout for a single group.
     59          TEST_TIMEOUT: 600
     60        run: |
     61          $ErrorActionPreference = 'Continue'
     62          cmake --build build --target functionaltest_parallel -j 2 -- -k 0
     63          $exitCode = $LASTEXITCODE
     64          cmake --build build --target functionaltest_summary
     65          exit $exitCode
     66 
     67      - if: ${{ matrix.test == 'old' }}
     68        uses: msys2/setup-msys2@v2
     69        with:
     70          update: true
     71          install: unzip
     72          pacboy: >-
     73            make:p gcc:p diffutils:p
     74          release: false
     75 
     76      - if: ${{ matrix.test == 'old' }}
     77        name: oldtest
     78        shell: msys2 {0}
     79        run: |
     80          cd test/old/testdir
     81          mingw32-make VERBOSE=1