Add most of Linux builds from Travis CI
Don't add the builds known/allowed to fail and don't add all the variations of Python builds, there are just too many of those, but do add mostly all the rest, with the exceptions below: Builds using JavaScript backend with node <= 10 had to be disabled as well, as they just seem to be broken and there is no real motivation in supporting these ancient versions. Builds using D can't be run currently due to incompatibility between the ancient dmd version being used and the earliest support Ubuntu version (18.04) on GitHub Actions and not supporting newer versions in SWIG. Builds using Scilab had to be disabled as running the test suite reliably hangs. This would need to be debugged by somebody motivated in doing it. Note that some builds need to be run under Ubuntu 18.04 (Bionic) and not the default 20.04 (Focal) as they use old dependencies that don't exist in Focal any longer. In the future we ought to switch to using newer versions of these dependencies.
This commit is contained in:
parent
11c8760639
commit
51cb07711f
1 changed files with 138 additions and 1 deletions
139
.github/workflows/ci.yml
vendored
139
.github/workflows/ci.yml
vendored
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
# By default, the name of the build is just the language used, but matrix
|
||||
# entries can define the additional "desc" field with any additional
|
||||
# information to include in the name.
|
||||
name: ${{ matrix.SWIGLANG || 'none' }}${{ matrix.PY3 }} ${{ matrix.desc }}
|
||||
name: ${{ matrix.SWIGLANG || 'none' }}${{ matrix.PY3 }} ${{ matrix.ENGINE}} ${{ matrix.VER }} ${{ matrix.desc }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
|
|
@ -42,9 +42,128 @@ jobs:
|
|||
- SWIGLANG: ""
|
||||
compiler: clang
|
||||
desc: clang
|
||||
- SWIGLANG: csharp
|
||||
# D support can't be enabled because dmd 2.066 fails to build anything
|
||||
# under Ubuntu 18.04 due to its standard library (libphobos2.a) not
|
||||
# being compiled with -FPIC, but system gcc using -fpie by default,
|
||||
# resulting in linking errors for any output. And later versions, such
|
||||
# as 2.086.1, are not supported and result in errors in SWIG test suite.
|
||||
#
|
||||
# - SWIGLANG: d
|
||||
# VER: '2.066.0'
|
||||
# os: ubuntu-18.04 # This dlang version doesn't work under 20.04.
|
||||
- SWIGLANG: go
|
||||
VER: '1.3'
|
||||
- SWIGLANG: go
|
||||
VER: '1.6'
|
||||
- SWIGLANG: go
|
||||
VER: '1.8'
|
||||
- SWIGLANG: go
|
||||
VER: '1.12'
|
||||
CSTD: gnu99
|
||||
- SWIGLANG: go
|
||||
VER: '1.16'
|
||||
CSTD: gnu99
|
||||
- SWIGLANG: guile
|
||||
- SWIGLANG: java
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: node
|
||||
VER: '12'
|
||||
CPP11: 1
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: node
|
||||
VER: '14'
|
||||
CPP11: 1
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: node
|
||||
VER: '16'
|
||||
CPP14: 1
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: jsc
|
||||
os: ubuntu-18.04 # libwebkitgtk-dev dependency not available in 20.04.
|
||||
- SWIGLANG: javascript
|
||||
ENGINE: v8
|
||||
os: ubuntu-18.04 # libv8-dev only actually provides v8 in 18.04.
|
||||
- SWIGLANG: lua
|
||||
- SWIGLANG: lua
|
||||
VER: '5.3'
|
||||
- SWIGLANG: octave
|
||||
CPP11: 1
|
||||
- SWIGLANG: perl5
|
||||
- SWIGLANG: php
|
||||
VER: '7.4'
|
||||
- SWIGLANG: php
|
||||
VER: '8.0'
|
||||
- SWIGLANG: python
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.2'
|
||||
os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.3'
|
||||
os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.4'
|
||||
os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.5'
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.6'
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.7'
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.8'
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
VER: '3.9'
|
||||
- SWIGLANG: python
|
||||
SWIG_FEATURES: -builtin
|
||||
desc: builtin
|
||||
- SWIGLANG: python
|
||||
SWIG_FEATURES: -builtin -O
|
||||
desc: builtin optimized
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
SWIG_FEATURES: -builtin
|
||||
desc: builtin
|
||||
- SWIGLANG: python
|
||||
PY3: 3
|
||||
SWIG_FEATURES: -builtin -O
|
||||
desc: builtin optimized
|
||||
- SWIGLANG: r
|
||||
- SWIGLANG: ruby
|
||||
VER: '1.9'
|
||||
os: ubuntu-18.04
|
||||
- SWIGLANG: ruby
|
||||
VER: '2.0'
|
||||
os: ubuntu-18.04
|
||||
- SWIGLANG: ruby
|
||||
VER: '2.1'
|
||||
os: ubuntu-18.04
|
||||
- SWIGLANG: ruby
|
||||
VER: '2.2'
|
||||
os: ubuntu-18.04
|
||||
- SWIGLANG: ruby
|
||||
VER: '2.3'
|
||||
os: ubuntu-18.04
|
||||
- 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'
|
||||
CSTD: c99
|
||||
CPP11: 1
|
||||
- SWIGLANG: tcl
|
||||
# let's run all of them, as opposed to aborting when one fails
|
||||
fail-fast: false
|
||||
|
|
@ -52,6 +171,8 @@ jobs:
|
|||
env:
|
||||
SWIGLANG: ${{ matrix.SWIGLANG }}
|
||||
PY3: ${{ matrix.PY3 }}
|
||||
VER: ${{ matrix.VER }}
|
||||
ENGINE: ${{ matrix.ENGINE }}
|
||||
SWIG_FEATURES: ${{ matrix.SWIG_FEATURES }}
|
||||
CSTD: ${{ matrix.CSTD }}
|
||||
CPP11: ${{ matrix.CPP11 }}
|
||||
|
|
@ -141,6 +262,22 @@ jobs:
|
|||
- name: Test
|
||||
working-directory: build/build
|
||||
run: |
|
||||
case "$SWIGLANG" in
|
||||
javascript)
|
||||
case "$ENGINE" in
|
||||
node)
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
||||
nvm use ${VER}
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
ruby)
|
||||
source $HOME/.rvm/scripts/rvm
|
||||
;;
|
||||
esac
|
||||
|
||||
set -x
|
||||
if test -n "$CPP11"; then export CPPSTD=c++11; fi
|
||||
if test -n "$CPP14"; then export CPPSTD=c++14; fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue