changeset 29582:8f142a26a343

GitHub-CI: Install on macOS before running test suite. * .github/workflows/make.yaml: Install Octave on the macOS runner before running the test suite. Otherwise, "mkoctfile" will fail to link the Octave libraries. Minor cleanups and style changes.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 01 May 2021 13:13:15 +0200
parents def7cbcf85ed
children 59c5131d46af
files .github/workflows/make.yaml
diffstat 1 files changed, 36 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/make.yaml	Fri Apr 30 19:46:23 2021 +0200
+++ b/.github/workflows/make.yaml	Sat May 01 13:13:15 2021 +0200
@@ -1,9 +1,11 @@
 name: make
 on: [push]
+
 jobs:
 
   ubuntu:
     runs-on: ${{ matrix.os }}
+
     strategy:
       matrix:
         # For available GitHub-hosted runners, see:
@@ -19,8 +21,11 @@
             compiler-pkgs: "clang"
             cc: "clang"
             cxx: "clang++"
+
     steps:
-      - uses: actions/checkout@v2
+      - name: checkout repository
+        uses: actions/checkout@v2
+
       - name: install dependencies
         env:
           COMPILER_PKGS: ${{ matrix.compiler-pkgs }}
@@ -38,11 +43,13 @@
             perl portaudio19-dev pstoedit qtbase5-dev qttools5-dev \
             qttools5-dev-tools rsync tar texinfo texlive-latex-extra xvfb \
             zlib1g-dev
+
       - name: prepare ccache
         # create human readable timestamp
         id: ccache_cache_timestamp
         run: |
           echo "::set-output name=TIMESTAMP::$(date +"%Y-%m-%d_%H-%M-%S")"
+
       - name: setup ccache
         # setup the github cache used to maintain the ccache from one job to the next
         uses: actions/cache@v2
@@ -52,13 +59,16 @@
           restore-keys: |
             ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}
             ccache:${{ matrix.os }}:${{ matrix.compiler }}
+
       - name: configure ccache
         run: |
           test -d /home/runner/.ccache || mkdir /home/runner/.ccache
           echo "max_size = 3G" >> /home/runner/.ccache/ccache.conf
           ccache -s
+
       - name: bootstrap
         run: ./bootstrap
+
       - name: configure
         env:
           MY_CC: ${{ matrix.cc }}
@@ -75,6 +85,7 @@
             F77="ccache gfortran" \
             CPPFLAGS="-I/usr/include/hdf5/serial -I/usr/include/suitesparse" \
             LDFLAGS="-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/hdf5/serial"
+
       - name: build
         env:
           XDG_RUNTIME_DIR: "/home/runner/tmp"
@@ -85,8 +96,10 @@
         run: |
           test -d $XDG_RUNTIME_DIR || mkdir $XDG_RUNTIME_DIR
           xvfb-run -a make -C ./.build all V=1
+
       - name: ccache status
         run: ccache -s
+
       - name: check
         # Continuing on error in this step means that jobs will be "green" even
         # if the test suite crashes.  But if we don't continue, we'll loose the
@@ -100,8 +113,10 @@
           XDG_RUNTIME_DIR: "/home/runner/tmp"
         run: xvfb-run -a make -C ./.build check V=1
 
+
   macos:
     runs-on: ${{ matrix.os }}
+
     strategy:
       matrix:
         # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
@@ -120,10 +135,14 @@
           - compiler: clang
             cc: "clang"
             cxx: "clang++"
+
     env:
       MY_PATH: "/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/bison/bin:/usr/local/opt/texinfo/bin:/usr/local/opt/qt@5/bin:/Library/TeX/texbin"
+
     steps:
-      - uses: actions/checkout@v2
+      - name: checkout repository
+        uses: actions/checkout@v2
+
       - name: install dependencies
         # It looks like "gfortran" isn't working correctly unless it is
         # re-installed as part of "gcc".
@@ -143,11 +162,13 @@
             ccache gnu-sed openjdk pkg-config \
             automake autoconf bison gettext icoutils librsvg mactex-no-gui
             eval "$(/usr/libexec/path_helper)"
+
       - name: prepare ccache
         # create human readable timestamp
         id: ccache_cache_timestamp
         run: |
           echo "::set-output name=TIMESTAMP::$(date +"%Y-%m-%d_%H-%M-%S")"
+
       - name: setup ccache
         # setup the github cache used to maintain the ccache from one job to the next
         uses: actions/cache@v2
@@ -157,6 +178,7 @@
           restore-keys: |
             ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}
             ccache:${{ matrix.os }}:${{ matrix.compiler }}
+
       - name: configure ccache
         # The cache doesn't seem to compress well on macOS. Is it already compressed?
         # Limit the maximum size to avoid exceeding the total cache limits.
@@ -164,10 +186,12 @@
           test -d /Users/runner/Library/Preferences/ccache || mkdir /Users/runner/Library/Preferences/ccache
           echo "max_size = 1.5G" >> /Users/runner/Library/Preferences/ccache/ccache.conf
           ccache -s
+
       - name: bootstrap
         run: |
           export PATH="$MY_PATH:$PATH"
           ./bootstrap
+
       - name: configure
         env:
           MY_CC: ${{ matrix.cc }}
@@ -198,17 +222,25 @@
             LDFLAGS="-L/usr/local/lib -L/usr/local/opt/bison/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/icu4c/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/sqlite/lib $MY_LDFLAGS" \
             PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig:/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/qt@5/lib/pkgconfig" \
             QCOLLECTIONGENERATOR="qhelpgenerator" \
-            --enable-link-all-dependencies \
             --disable-lib-visibility-flags \
             --with-x=no \
             --with-blas="-L/usr/local/opt/openblas/lib -lopenblas" \
-            --with-java-homedir="/usr/local/opt/openjdk"
+            --with-java-homedir="/usr/local/opt/openjdk" \
+            --prefix="${HOME}/usr"
+
       - name: build
         run: |
           export PATH="$MY_PATH:$PATH"
           make -C ./.build all -j3 V=1
+
       - name: ccache status
         run: ccache -s
+
+      - name: install
+        # Install Octave prior to running the test suite for "mkoctfile" to
+        # work correctly.
+        run: make -C ./.build install V=1
+
       - name: check
         # Continuing on error in this step means that jobs will be "green" even
         # if the test suite crashes.  But if we don't continue, we'll loose the