]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
CI: MS-Windows: Run gvim/vim tests in parallel
authorK.Takata <kentkt@csc.jp>
Sun, 28 Jun 2026 17:28:17 +0000 (17:28 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 28 Jun 2026 17:28:17 +0000 (17:28 +0000)
https://github.blog/changelog/2026-06-25-actions-steps-can-now-be-run-in-parallel/

closes: #20655

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
.github/workflows/ci-windows.yml

index 25c7f1c075b707cd2ca517959f97f14ae4b2e035..e4b8cdecd22f51f671f906e45da77974fabe5ec1 100644 (file)
@@ -193,6 +193,12 @@ jobs:
           )
           goto :eof
 
+      - name: Copy src directory to src2
+        if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
+        shell: cmd
+        run: |
+          xcopy src src2\ /E > nul
+
       - name: Build (MSVC)
         if: matrix.toolchain == 'msvc'
         shell: cmd
@@ -306,40 +312,42 @@ jobs:
       #      fi
       #    fi
 
-      - name: Test and show the result of testing gVim
-        if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
-        shell: cmd
-        timeout-minutes: 15
-        run: |
-          PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
-          call "%VCVARSALL%" %VCARCH%
-
-          echo %COL_GREEN%Test gVim:%COL_RESET%
-          cd src\testdir
-          if "${{ matrix.GUI }}"=="yes" (
-            nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
-          ) else (
-            @rem Run only tiny tests.
-            nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim  || exit 1
-          )
-
-      - name: Test and show the result of testing Vim
-        if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
-        shell: cmd
-        timeout-minutes: 15
-        run: |
-          PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
-          call "%VCVARSALL%" %VCARCH%
+      - parallel:
+        # Run gvim tests and vim tests in parallel
+
+        - name: Test and show the result of testing gVim
+          if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
+          shell: cmd
+          timeout-minutes: 15
+          run: |
+            PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
+            call "%VCVARSALL%" %VCARCH%
+
+            echo %COL_GREEN%Test gVim:%COL_RESET%
+            cd src\testdir
+            if "${{ matrix.features }}"=="TINY" (
+              @rem Run only tiny tests.
+              nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim  || exit 1
+            ) else (
+              nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
+            )
 
-          echo %COL_GREEN%Test Vim:%COL_RESET%
-          cd src\testdir
-          nmake -nologo -f Make_mvc.mak clean
-          if "${{ matrix.GUI }}"=="no" (
-            nmake -nologo -f Make_mvc.mak VIMPROG=..\vim || exit 1
-          ) else (
-            @rem Run only tiny tests.
-            nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim  || exit 1
-          )
+        - name: Test and show the result of testing Vim
+          if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
+          shell: cmd
+          timeout-minutes: 15
+          run: |
+            PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PYTHON3_DIR%;%PATH%;%SODIUM_LIB%
+            call "%VCVARSALL%" %VCARCH%
+
+            echo %COL_GREEN%Test Vim:%COL_RESET%
+            cd src2\testdir
+            if "${{ matrix.features }}"=="TINY" (
+              @rem Run only tiny tests.
+              nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\..\src\vim  || exit 1
+            ) else (
+              nmake -nologo -f Make_mvc.mak VIMPROG=..\..\src\vim || exit 1
+            )
 
       - name: Upload failed test artifacts
         if: ${{ !cancelled() }}