Mercurial > octave
changeset 32525:14cb31ec0251 stable
GitHub-CI (MSYS2/MinGW): Build with UCRT64 instead of CLANG64.
* .github/workflows/make.yaml (mingw): Run CI in the UCRT64 environment instead
of in the CLANG64 environment. That is closer to what will likely distributed
as version 9 of Octave for Windows. Do not install mesa, it isn't used anyway.
Create and upload build artifacts only from default branch. Remove explicitly
setting "gl_cv_have_weak=no" which is no longer needed since gnulib update.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 03 Dec 2023 12:21:28 +0100 |
parents | 05beae3dc8f6 |
children | 42bb43092702 f1eb72c966a1 |
files | .github/workflows/make.yaml |
diffstat | 1 files changed, 10 insertions(+), 51 deletions(-) [+] |
line wrap: on
line diff
--- a/.github/workflows/make.yaml Fri Dec 01 16:19:18 2023 -0800 +++ b/.github/workflows/make.yaml Sun Dec 03 12:21:28 2023 +0100 @@ -672,7 +672,7 @@ matrix: # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners os: [windows-latest] - msystem: [MINGW64, CLANG64] + msystem: [MINGW64, UCRT64] include: - msystem: MINGW64 mingw-prefix: mingw64 @@ -682,21 +682,14 @@ f77: gfortran extra-config-flags: "" ccache-max: 0.9G - - msystem: CLANG64 - mingw-prefix: clang64 - target-prefix: mingw-w64-clang-x86_64 - cc: clang - # It looks like we and graphicsmagick++ aren't ready for C++17 yet. - cxx: "clang++ -std=gnu++14" - f77: flang - # Clang seems to require a different set of dllexport attributes than GCC. - # autoconf and libtool still need help to correctly invoke flang. - extra-config-flags: - --disable-lib-visibility-flags - --enable-fortran-calling-convention=gfortran - ac_cv_f77_compiler_gnu=yes - lt_cv_prog_gnu_ld=yes - ccache-max: 400M + - msystem: UCRT64 + mingw-prefix: ucrt64 + target-prefix: mingw-w64-ucrt-x86_64 + cc: gcc + cxx: g++ + f77: gfortran + extra-config-flags: "" + ccache-max: 0.9G env: CHERE_INVOKING: 1 @@ -772,17 +765,6 @@ msystem: ${{ matrix.msystem }} - - name: install run-time dependency "mesa" - # The mesa3d OpenGL driver seems to be needed for correct off-screen - # rendering. But the version from MSYS2 currently crashes Octave on - # MINGW32. See: https://github.com/msys2/MINGW-packages/issues/10876 - # Without it, `test getframe` "just" fails without crashing Octave. - # So, skip installation for MINGW32. - if: matrix.msystem != 'MINGW32' - env: - TARGET_PREFIX: ${{ matrix.target-prefix }} - run: pacman --noconfirm -S ${TARGET_PREFIX}-mesa - - name: checkout repository uses: actions/checkout@v3 @@ -842,8 +824,7 @@ cd .build && ../configure \ JAVA_HOME="" \ --disable-docs \ - ${{ matrix.extra-config-flags }} \ - gl_cv_have_weak=no + ${{ matrix.extra-config-flags }} - name: build # Spawning processes seems to have a big overhead on this platform. Use a somewhat larger number of parallel processes to compensate for that. @@ -930,28 +911,6 @@ echo "history_file (make_absolute_filename ('./a/b/c/history')); disp ('test')" | ./.build/run-octave -i [ -f ./a/b/c/history ] || echo "::warning::Creating history file failed" - - name: install and compress - if: matrix.msystem == 'MINGW64' - continue-on-error: true - run: | - echo "::group::Installing Octave" - mkdir -p /c/octave/pkg - make -C ./.build DESTDIR=/c/octave/pkg install - echo "::endgroup::" - echo "::group::Compressing Octave package" - cd /c/octave/pkg - tar -cvzf octave.tar.gz * - echo "::endgroup::" - - - name: upload build artifact - if: matrix.msystem == 'MINGW64' - continue-on-error: true - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.target-prefix }}-octave-${{ steps.ccache-prepare.outputs.timestamp }} - path: C:\octave\pkg\octave.tar.gz - retention-days: 7 - cygwin: runs-on: ${{ matrix.os }}