Mercurial > octave
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