Skip to content

Commit

Permalink
Split matrix into latest octave all sympy and older octave
Browse files Browse the repository at this point in the history
  • Loading branch information
cbm755 committed Dec 25, 2023
1 parent b6e4b56 commit 7eb36cc
Showing 1 changed file with 47 additions and 27 deletions.
74 changes: 47 additions & 27 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,42 +47,64 @@ jobs:
docker run --rm -v $PWD:/workdir:rw gnuoctave/octave octave-cli --eval "x=sym('x'); test @sym/qr"
# Built-in Self Tests and Doctests for various supported Octave and SymPy
# Test newest Octave and all supported SymPy
# Test other supported Octave releases with latest available SymPy
# Note that 1.10.1 not supported on Python 3.6 (Ubuntu 18.04-based systems)
bist_doc:
# Built-in Self Tests and Doctests for latest Octave and all supported SymPy
bist-doc:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
octave: [8.4.0]
sympy: [1.4, 1.5.1, 1.6.2, 1.7.1, 1.8, 1.9, 1.10.1, 1.11.1, 1.12]
steps:
- uses: actions/checkout@v3
- name: Container setup
env:
OCT: ${{ matrix.octave }}
SYMPY: ${{ matrix.sympy }}
run: |
uname -a
docker pull docker.io/gnuoctave/octave:$OCT
docker run --name=oc --detach --init \
--volume=$PWD:/workdir/octsympy:rw \
gnuoctave/octave:$OCT sleep inf
# FIXME: workaround "fatal: unsafe repository" error
# For more details, see https://stackoverflow.com/q/71901632
# and https://github.com/actions/checkout/issues/760
docker exec oc git config --global --add safe.directory /workdir/octsympy
docker exec oc pip install packaging
docker exec oc pip install sympy==$SYMPY
docker exec oc octave-cli --eval "pkg install -forge doctest"
- name: Run BIST in-place
run: docker exec oc make -C octsympy test
- name: Run doctests in-place
run: docker exec oc make -C octsympy doctest
- name: Make package, then install-load-unload-uninstall
run: |
docker exec oc make -C octsympy install
docker exec oc octave --eval "pkg load symbolic; sympref diagnose; syms x; clear all; pkg unload symbolic; pkg uninstall symbolic"
- name: Stop container
run: |
docker stop oc
docker rm oc
# Built-in Self Tests and Doctests for older Octave
# Test other supported Octave releases with latest available SymPy
# Note that 1.10.1 not supported on Python 3.6 (Ubuntu 18.04-based systems)
# Octave < 8.x containers don't have pip, must install
# We can drop pip3 and just use `pip` once we drop Octave 5.x support
older-octave-bist-doc:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
octave: [6.1.0, 6.2.0, 6.3.0, 7.1.0, 7.2.0, 7.3.0, 8.1.0, 8.2.0, 8.3.0]
sympy: [1.12]
include:
- octave: 5.1.0
sympy: 1.8
- octave: 5.2.0
sympy: 1.8
- octave: 6.1.0
sympy: 1.12
- octave: 6.2.0
sympy: 1.12
- octave: 6.3.0
sympy: 1.12
- octave: 6.4.0
sympy: 1.12
- octave: 7.1.0
sympy: 1.12
- octave: 7.2.0
sympy: 1.12
- octave: 7.3.0
sympy: 1.12
- octave: 8.1.0
sympy: 1.12
- octave: 8.2.0
sympy: 1.12
- octave: 8.3.0
sympy: 1.12
steps:
- uses: actions/checkout@v3
- name: Container setup
Expand All @@ -99,8 +121,6 @@ jobs:
# For more details, see https://stackoverflow.com/q/71901632
# and https://github.com/actions/checkout/issues/760
docker exec oc git config --global --add safe.directory /workdir/octsympy
# < 8.x containers don't have pip, must install
# Can just pip (not pip3) once we drop 5.x support
docker exec oc apt-get update
docker exec oc apt-get install -y python3-pip
docker exec oc pip3 --version
Expand Down

0 comments on commit 7eb36cc

Please sign in to comment.