# HG changeset patch # User Markus Mützel # Date 1641640098 -3600 # Node ID e9895f8335c56ca0531cbc15c4c6725576bb1d8c # Parent c98873eb28522445d0ee1a1d0bd4ad904400a0be GitHub-CI: Simplify running the test suite on Windows. * .github/workflows/make.yaml (windows): Override `makeinfo_program` in octaverc. Use bash to run test suite. diff -r c98873eb2852 -r e9895f8335c5 .github/workflows/make.yaml --- a/.github/workflows/make.yaml Fri Jan 07 11:50:07 2022 +0100 +++ b/.github/workflows/make.yaml Sat Jan 08 12:08:18 2022 +0100 @@ -472,8 +472,10 @@ - name: install # Install Octave + # Relocation issues with the graphicsmagick++ libraries on mingw require # installing Octave before running the test suite. + # See: https://github.com/msys2/MINGW-packages/pull/9931 run: make -C ./.build install V=1 - name: check @@ -487,24 +489,12 @@ continue-on-error: true timeout-minutes: 60 - # We cannot run "make check" in the MSYS2 shell because it will fail with backslash as a file separator. - # Instead, use the CMD shell and set up the environment to pick up what we just built. - shell: cmd - env: - MSYS_PATH: C:\msys64\${{ matrix.mingw-prefix }}\bin;C:\msys64\usr\bin - MSYSTEM: ${{ matrix.msystem }} - TERM: cygwin - GNUTERM: wxt - GS: gs.exe + # Perl scripts cannot be run as executables on Windows (no shebang mechanism). + # We need to wrap them by calling the perl executable explicitly. - # Also, install .bat file for "makeinfo" so that it can be called from that shell. run: | - set PATH=%MSYS_PATH%;%PATH% - echo @echo off > C:/msys64/usr/bin/makeinfo.bat - echo %%~d0 >> C:/msys64/usr/bin/makeinfo.bat - echo cd "%%~dp0" >> C:/msys64/usr/bin/makeinfo.bat - echo perl "%%~n0" %%* >> C:/msys64/usr/bin/makeinfo.bat - rem Start Octave and run test suite + echo 'makeinfo_program (sprintf ("%s && cd %s/../usr/bin && perl makeinfo", OCTAVE_HOME ()(1:2), OCTAVE_HOME ()));' \ + >> "${MINGW_PREFIX}/share/octave/site/m/startup/octaverc" octave --eval "__run_test_suite__" - name: display test log