[ci] Use docker Octave images
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3069bf2..201392e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,6 +24,7 @@
continue-on-error: ${{ matrix.continue-on-error || false }}
runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
+ container: ${{ matrix.container }}
# By default, the name of the build is the language used and SWIG options, but matrix entries
# can define the additional "desc" field with any additional information to include in the name.
@@ -34,318 +35,31 @@
include:
- SWIGLANG: ""
CPPFLAGS: "-DDOH_POISON"
- - SWIGLANG: ""
- GCC: 7
- CPPSTD: c++98
- CSTD: c99
- - SWIGLANG: ""
- GCC: 7
- - SWIGLANG: ""
- GCC: 8
- - SWIGLANG: ""
- GCC: 9
- - SWIGLANG: ""
- GCC: 10
- - SWIGLANG: ""
- GCC: 11
- - SWIGLANG: ""
- GCC: 12
- os: ubuntu-22.04
- - SWIGLANG: ""
- GCC: 13
- os: ubuntu-22.04
- - SWIGLANG: ""
- compiler: clang
- os: ubuntu-22.04
- - SWIGLANG: csharp
- - SWIGLANG: d
- VER: 'ldc'
- CPPSTD: c++14
- - SWIGLANG: d
- VER: 'gdmd'
- CPPSTD: c++11
- - SWIGLANG: d
- VER: '2.103.1'
- CPPSTD: c++17
- - SWIGLANG: go
- VER: '1.6'
- CSTD: gnu11
- - SWIGLANG: go
- VER: '1.8'
- - SWIGLANG: go
- VER: '1.12'
- CSTD: gnu11
- - SWIGLANG: go
- VER: '1.17'
- - SWIGLANG: guile
- - SWIGLANG: guile
- VER: '2.2'
- - SWIGLANG: guile
- VER: '3.0'
- - SWIGLANG: java
- - SWIGLANG: javascript
- ENGINE: jsc
- VER: '4.0'
- - SWIGLANG: javascript
- ENGINE: napi
- VER: '18'
- CPPSTD: c++11
- #- SWIGLANG: javascript
- # ENGINE: node
- # VER: '6'
- # CPPSTD: c++11
- # os: ubuntu-18.04
- #- SWIGLANG: javascript
- # ENGINE: node
- # VER: '8'
- # CPPSTD: c++11
- # os: ubuntu-18.04
- #- SWIGLANG: javascript
- # ENGINE: node
- # VER: '10'
- # CPPSTD: c++11
- # os: ubuntu-18.04
- - SWIGLANG: javascript
- ENGINE: node
- VER: '12'
- CPPSTD: c++11
- - SWIGLANG: lua
- - SWIGLANG: lua
- VER: '5.3'
- SWIGLANG: octave
CPPSTD: c++11
- SWIGLANG: octave
os: ubuntu-22.04 # Octave 6.4.0
CPPSTD: c++11
- - SWIGLANG: perl5
- - SWIGLANG: php
- VER: '8.0'
- - SWIGLANG: php
- VER: '8.1'
- - SWIGLANG: php
- VER: '8.2'
- - SWIGLANG: php
- VER: '8.3'
- - SWIGLANG: python
- PY2: 2
- #- SWIGLANG: python
- # VER: '3.3'
- # os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
- #- SWIGLANG: python
- # VER: '3.4'
- # os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
- - SWIGLANG: python
- VER: '3.5'
- - SWIGLANG: python
- VER: '3.6'
- - SWIGLANG: python
- VER: '3.7'
- - SWIGLANG: python
- VER: '3.8'
- - SWIGLANG: python
- VER: '3.9'
- - SWIGLANG: python
- VER: '3.10'
- - SWIGLANG: python
- VER: '3.11'
- - SWIGLANG: python
- VER: '3.12'
- CSTD: gnu99
- - SWIGLANG: python
- PY2: 2
- SWIG_FEATURES: -builtin
- - SWIGLANG: python
- PY2: 2
- SWIG_FEATURES: -builtin -O
- - SWIGLANG: python
- SWIG_FEATURES: -builtin
- - SWIGLANG: python
- SWIG_FEATURES: -builtin -O
- - SWIGLANG: python
- VER: '3.8'
- PY_ABI_VER: '3.4'
- - SWIGLANG: r
- - SWIGLANG: ruby
- VER: '2.0'
- - SWIGLANG: ruby
- VER: '2.1'
- - SWIGLANG: ruby
- VER: '2.2'
- - SWIGLANG: ruby
- VER: '2.3'
- - SWIGLANG: ruby
- VER: '2.4'
- - SWIGLANG: ruby
- VER: '2.5'
- - SWIGLANG: ruby
- VER: '2.6'
- - SWIGLANG: ruby
- VER: '2.7'
- - SWIGLANG: ruby
- VER: '3.0'
- CPPSTD: c++11
- - SWIGLANG: ruby
- VER: '3.1.4' # import_fragments testcase started to fail on upgrade to 3.1.5, see https://github.com/swig/swig/issues/2800
- CPPSTD: c++11
- - SWIGLANG: ruby
- CPPSTD: c++11
- VER: '3.2.2' # import_fragments testcase started to fail on upgrade to 3.2.3, see https://github.com/swig/swig/issues/2800
- - SWIGLANG: scilab
- VER: '5.5.2'
- - SWIGLANG: scilab
- VER: '6.0.2'
- - SWIGLANG: scilab
- os: ubuntu-22.04 # scilab 6.1.1
- - SWIGLANG: scilab
- VER: '2023.0.0'
- - SWIGLANG: tcl
- # c++11 testing
- - SWIGLANG: csharp
- CPPSTD: c++11
- - SWIGLANG: go
- VER: '1.17'
- CPPSTD: c++11
- CSTD: gnu11
- - SWIGLANG: guile
- CPPSTD: c++11
- - SWIGLANG: java
- CPPSTD: c++11
- - SWIGLANG: javascript
- ENGINE: jsc
- VER: '4.1'
- os: ubuntu-22.04
- CPPSTD: c++11
- - SWIGLANG: javascript
- ENGINE: node
- VER: '14'
- CPPSTD: c++11
- - SWIGLANG: lua
- CPPSTD: c++11
- - SWIGLANG: perl5
- CPPSTD: c++11
- - SWIGLANG: php
- CPPSTD: c++11
- CSTD: gnu11
- - SWIGLANG: python
- CPPSTD: c++11
- - SWIGLANG: r
- CPPSTD: c++11
- - SWIGLANG: ruby
- CPPSTD: c++11
- VER: '3.3'
- - SWIGLANG: ruby
- CPPSTD: c++11
- - SWIGLANG: scilab
- CPPSTD: c++11
- - SWIGLANG: tcl
- CPPSTD: c++11
- # c++14 testing
- - SWIGLANG: csharp
- CPPSTD: c++14
- - SWIGLANG: go
- VER: '1.17'
- CPPSTD: c++14
- CSTD: gnu11
- - SWIGLANG: guile
- CPPSTD: c++14
- - SWIGLANG: java
- CPPSTD: c++14
- - SWIGLANG: javascript
- ENGINE: node
- VER: '16'
- CPPSTD: c++14
- - SWIGLANG: lua
- CPPSTD: c++14
- SWIGLANG: octave
CPPSTD: c++14
- - SWIGLANG: perl5
- CPPSTD: c++14
- - SWIGLANG: php
- CPPSTD: c++14
- CSTD: gnu11
- - SWIGLANG: python
- CPPSTD: c++14
- - SWIGLANG: r
- CPPSTD: c++14
- - SWIGLANG: ruby
- CPPSTD: c++14
- - SWIGLANG: scilab
- CPPSTD: c++14
- - SWIGLANG: tcl
- CPPSTD: c++14
- # c++17 testing (using gcc13)
- - SWIGLANG: csharp
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: go
- VER: '1.17'
- CPPSTD: c++17
- GCC: 13
- CSTD: gnu17
- - SWIGLANG: guile
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: java
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: javascript
- ENGINE: node
- VER: '18'
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: lua
- CPPSTD: c++17
- GCC: 13
- SWIGLANG: octave
CPPSTD: c++17
GCC: 13
- - SWIGLANG: perl5
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: php
- CPPSTD: c++17
- CSTD: gnu17
- GCC: 13
- - SWIGLANG: python
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: r
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: ruby
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: scilab
- CPPSTD: c++17
- GCC: 13
- - SWIGLANG: tcl
- CPPSTD: c++17
- GCC: 13
- # c++20 testing (using gcc13)
- - SWIGLANG: python
- CPPSTD: c++20
- GCC: 13
- os: ubuntu-22.04
- - SWIGLANG: javascript
- ENGINE: napi
- VER: '20'
- CPPSTD: c++20
- GCC: 13
- os: ubuntu-22.04
- - SWIGLANG: javascript
- ENGINE: node
- VER: '20'
- CPPSTD: c++20
- GCC: 13
- os: ubuntu-22.04
- # Experimental languages (these are allowed to fail)
- - SWIGLANG: mzscheme
- continue-on-error: true
- - SWIGLANG: ocaml
- CPPSTD: c++17
- GCC: 13
- os: ubuntu-22.04 # ocaml-4.08 in ubuntu-20.04 doesn't work
- continue-on-error: true
+ - SWIGLANG: octave
+ os: ubuntu-latest
+ container: gnuoctave/octave:4.0.0
+ - SWIGLANG: octave
+ os: ubuntu-latest
+ container: gnuoctave/octave:4.4.1
+ - SWIGLANG: octave
+ os: ubuntu-latest
+ container: gnuoctave/octave:7.3.0
+ - SWIGLANG: octave
+ os: ubuntu-latest
+ container: gnuoctave/octave:8.4.0
+ - SWIGLANG: octave
+ os: ubuntu-latest
+ container: gnuoctave/octave:9.1.0
# Run all of them, as opposed to aborting when one fails
fail-fast: false