Javascript - v8 and node only.
When wrapping C code char arrays.
Now calloc is now used instead of new char[] in SWIG_AsCharPtrAndSize.
Fixes gcc-11 warning -Wmismatched-new-delete in arrays and
memberin_extend testcases.
Show compiler name (directly from inputs rather than from 'desc'.
Fix testing of C++11, C++14.
Allow for CSTD override to override with -std=gnu11 for languages
whose headers are not -std=c11 compatible.
Show c/c++ std being tested from github yaml file in the name.
The ubuntu-20.04 machine has php 7.4 and 8.0 installed.
configure.ac always looks for newer versions over older versions of php.
To prevent always testing 8.0, remove all versions and just install the
required version.
Github Actions enhancements.
Adds gcc-11 testing.
Refactor Github Actions by breaking up into more steps (Install Dependencies, Configure, Build, Test, Install SWIG).
Fix Octave test
There is too much cruft to wade through to find compiler warnings.
I check these once in a while for all compilers.
We could alternatively use -Werr, but at the risk of more broken builds.
It's useful to see the configure step by itself, so split it out
from the installation of prerequisites.
The make install is verbose, put it in it's own step
Move checking of the errors test-suite and ccache checks from
the Build to Test step.
This seems to be broken and sporadically results in "Text file busy"
errors when the tests are run actually in parallel, as is the case in
GitHub CI environment.
Exit early if there is version of the PR newer than the one that we are
about to start building, to avoid wasting 3.5 hours of AppVeyor build
time on the outdated PR versions.
The snippet doing this was copied from
https://github.com/appveyor/ci/issues/38#issuecomment-70628826
(thanks to Tony Kelman). An alternative to doing this could be enabling
the "Rolling builds" option in the AppVeyor UI, see
https://www.appveyor.com/docs/build-configuration/#rolling-builds
but this method seems to work well in practice and is more explicit.
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.
It is not available out of the box in GitHub environment, unlike under
Travis CI, so install it ourselves.
Note that we do it manually because installing the rael-gc/rvm PPA
doesn't seem to work with weird failures in GitHub Actions environment.
We also can't use gpg2 --recv-keys in this environment as it doesn't
work, apparently due to a firewall.