Patch 8.2.4377
Problem: CI steps for Windows are a bit unorganized.
Solution: Organize CI test steps on Windows. (Ozaki Kiichi, closes #9764)
Files: .github/workflows/ci.yml
*** ../vim-8.2.4376/.github/workflows/ci.yml 2022-02-12 10:53:00.341857471 +0000
--- .github/workflows/ci.yml 2022-02-14 11:33:26.291059947 +0000
***************
*** 347,353 ****
runs-on: windows-2019
env:
- VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
# Interfaces
# Lua
LUA_VER: 54
--- 347,352 ----
***************
*** 392,397 ****
--- 391,400 ----
msystem: MINGW32
cygreg: registry32
pyreg: "-32"
+ - toolchain: mingw
+ arch: x64
+ features: HUGE
+ coverage: yes
exclude:
- toolchain: msvc
arch: x64
***************
*** 406,418 ****
shell: bash
run: |
git config --global core.autocrlf input
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
- if ${{ matrix.toolchain == 'mingw' && matrix.arch == 'x64' && matrix.features == 'HUGE' }}; then
- echo "COVERAGE=yes" >> $GITHUB_ENV
- fi
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
--- 409,419 ----
shell: bash
run: |
git config --global core.autocrlf input
+ echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
***************
*** 466,473 ****
- name: Copy src directory to src2
shell: cmd
! run: |
! xcopy src src2\ /E > nul
- name: Build (MSVC)
if: matrix.toolchain == 'msvc'
--- 467,473 ----
- name: Copy src directory to src2
shell: cmd
! run: xcopy src src2\ /E > nul
- name: Build (MSVC)
if: matrix.toolchain == 'msvc'
***************
*** 504,510 ****
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
! STATIC_STDCPLUS=yes COVERAGE=${COVERAGE}
else
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
--- 504,510 ----
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
! STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
else
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
***************
*** 512,517 ****
--- 512,521 ----
STATIC_STDCPLUS=yes
fi
+ - name: Check version
+ shell: cmd
+ run: src\vim --version || exit 1
+
#- name: Prepare Artifact
# shell: cmd
# run: |
***************
*** 526,559 ****
# path: ./artifacts
- name: Copy gcov data files to src2
! if: env.COVERAGE
shell: msys2 {0}
! run: |
! find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
! - name: Test
shell: cmd
timeout-minutes: 20
run: |
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
call "%VCVARSALL%" ${{ matrix.vcarch }}
- cd src
- echo.
- echo ::group::%COL_GREEN%Vim version:%COL_RESET%
- .\vim --version || exit 1
- echo ::endgroup::
! echo %COL_GREEN%Start testing vim in background.%COL_RESET%
! start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
! echo ::group::%COL_GREEN%Test gvim:%COL_RESET%
! cd testdir
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
- cd ..
- echo ::endgroup::
! echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
! cd ..\src2\testdir
:: Wait about 10 minutes.
for /L %%i in (1,1,60) do (
if exist done.txt goto exitloop
--- 530,562 ----
# path: ./artifacts
- name: Copy gcov data files to src2
! if: matrix.coverage
shell: msys2 {0}
! run: find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
! - name: Test and show the result of testing gVim
shell: cmd
timeout-minutes: 20
run: |
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
call "%VCVARSALL%" ${{ matrix.vcarch }}
! echo %COL_GREEN%Start testing Vim in background.%COL_RESET%
! start cmd /c "cd src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
! echo %COL_GREEN%Test gVim:%COL_RESET%
! cd src\testdir
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
! - name: Show the result of testing Vim
! shell: cmd
! timeout-minutes: 20
! run: |
! PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
! call "%VCVARSALL%" ${{ matrix.vcarch }}
!
! echo %COL_GREEN%Wait for Vim tests to finish.%COL_RESET%
! cd src2\testdir
:: Wait about 10 minutes.
for /L %%i in (1,1,60) do (
if exist done.txt goto exitloop
***************
*** 563,579 ****
set timeout=1
:exitloop
! echo ::group::%COL_GREEN%Test results of vim:%COL_RESET%
if exist messages type messages
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
if "%timeout%"=="1" (
echo %COL_RED%Timed out.%COL_RESET%
exit 1
)
- echo ::endgroup::
- name: Generate gcov files
! if: env.COVERAGE
shell: msys2 {0}
run: |
cd src
--- 566,583 ----
set timeout=1
:exitloop
! echo %COL_GREEN%The result of testing Vim:%COL_RESET%
! cd src2\testdir
if exist messages type messages
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
+
if "%timeout%"=="1" (
echo %COL_RED%Timed out.%COL_RESET%
exit 1
)
- name: Generate gcov files
! if: matrix.coverage
shell: msys2 {0}
run: |
cd src
***************
*** 581,595 ****
cd ../src2
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
! - name: Codecov (gvim)
! if: env.COVERAGE
uses: codecov/codecov-action@v2
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
! - name: Codecov (vim)
! if: env.COVERAGE
uses: codecov/codecov-action@v2
with:
directory: src2
--- 585,599 ----
cd ../src2
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
! - name: Codecov (gVim)
! if: matrix.coverage
uses: codecov/codecov-action@v2
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
! - name: Codecov (Vim)
! if: matrix.coverage
uses: codecov/codecov-action@v2
with:
directory: src2
*** ../vim-8.2.4376/src/version.c 2022-02-14 11:10:54.365486323 +0000
--- src/version.c 2022-02-14 11:35:03.903517893 +0000
***************
*** 752,753 ****
--- 752,755 ----
{ /* Add new patch number below this line */
+ /**/
+ 4377,
/**/
--
It is hard to understand how a cemetery raised its burial
cost and blamed it on the cost of living.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///