Commit graph

22,317 commits

Author SHA1 Message Date
William S Fulton
e74b9830bb GHA: C++11 testing and compiler name
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.
2021-11-11 20:33:26 +00:00
William S Fulton
b69b5888a8 GHA: Fix testing of php versions
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.
2021-11-11 20:17:54 +00:00
William S Fulton
95c76a6fa6 Simpler Test code for handling SWIGLANG 2021-11-11 20:17:50 +00:00
William S Fulton
1bd3e771a0 Fix C tests for Javascript and c++17 2021-11-11 19:56:37 +00:00
William S Fulton
1c34be2d24 Fix nspace warning message 2021-11-11 18:59:25 +00:00
Vadim Zeitlin
7ddd9da130 Update the apt sources before trying to install anything
We need to refresh the information about the available packages before
trying to install them.
2021-11-02 19:57:01 +01:00
William S Fulton
8b5cd5f906 GHA: cleaner output 2021-10-22 15:44:36 +01:00
William S Fulton
cbbeb4298a GHA: Fix CSTD and CPPSTD usage 2021-10-22 15:44:27 +01:00
William S Fulton
cf8268d19e GHA: Remove go-1.3 testing
Results in error message:
/usr/bin/ld: -r and -pie may not be used together
Same problem on Ubuntu 18.04. Same with versions go-1.2 to go-1.5.
2021-10-22 15:03:49 +01:00
William S Fulton
87c50d811d Fix installation of Go from gimme
GHA does not have gimme pre-installed
2021-10-22 14:57:58 +01:00
William S Fulton
090b884481 Use source instead of . 2021-10-22 14:49:56 +01:00
William S Fulton
04a6ad3bb5 Add SWIG_FEATURES into GHA name 2021-10-22 14:49:01 +01:00
William S Fulton
c280d63a4d GHA: Add python 3.10 testing 2021-10-20 21:05:20 +01:00
William S Fulton
76d8e2cfaf
Merge pull request #2064 from jschueller/py310
[Python] Fix overload_simple_cast test with 3.10
2021-10-20 19:45:55 +01:00
William S Fulton
7a65f028f8 Update docs - python static members access
[skip-ci]
2021-10-20 11:53:18 +01:00
William S Fulton
bfdbcdcf1a
Merge pull request #2088 from wsfulton/actions-gcc11
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
2021-10-18 10:15:41 +01:00
William S Fulton
6c4125db0c GHA: apt-get update for Octave
To fix:
Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/m/mesa/libgl1-mesa-dev_21.0.3-0ubuntu0.3~20.04.2_amd64.deb  404  Not Found
2021-10-18 08:48:05 +01:00
William S Fulton
fc31b9ab04 Add gcc11 testing 2021-10-15 08:15:14 +01:00
William S Fulton
206105bc3f GHA: Correctly unset SWIGJOBS for broken parallel language checks 2021-10-15 08:14:28 +01:00
William S Fulton
4df45013d5 Fix to find scripts in Tools 2021-10-15 08:14:28 +01:00
William S Fulton
d0b6cfeca4 Factor out common environment setup GHA steps 2021-10-15 08:14:28 +01:00
William S Fulton
aaf19fbf93 GHA: Fix regressions
The environment variables are not kept between runs, arg.
Temp hack to try and get export env working for Configure and Test steps.
2021-10-15 08:14:28 +01:00
William S Fulton
61983e04b0 Try save WITHLANG 2021-10-15 08:14:28 +01:00
William S Fulton
d7c2cbec38 GHA: clean up Configure step
Setup Javascript before running configure - may fix broken Javascript testing.
Configure step just configures now.
2021-10-15 08:14:28 +01:00
William S Fulton
7e97269452 Fix Install step 2021-10-15 08:14:28 +01:00
William S Fulton
b17416c187 GHA: remove useless diagnostics
This echo is out of sync with the script for some reason and
is rather pointless subsequent to the breaking up of the steps
2021-10-15 08:14:28 +01:00
William S Fulton
af68e7f618 GHA: Restore silent flag to building SWIG
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.
2021-10-15 08:14:28 +01:00
William S Fulton
b1fe12182b GHA workflow break up
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.
2021-10-15 08:14:28 +01:00
Vadim Zeitlin
2b540ae2f5 Merge branch 'appveyor-ci-improvements'
Cancel builds of non-latest PR version on AppVeyor and other minor
improvements.

See #2085.
2021-10-14 00:26:54 +02:00
Vadim Zeitlin
8a0ec051db Don't run non-node JS tests in parallel in the CI builds
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.
2021-10-03 17:19:29 +02:00
Anthony Heading
6c59cae799 Avoid gcc 11 misleading indentation warning in generated code
Closes https://github.com/swig/swig/pull/2074
2021-10-03 17:18:58 +02:00
Julien Schueller
42ed181e08 [CMake] Add option to enable pcre
Closes #2031, #2065.
2021-10-03 16:32:11 +02:00
Vadim Zeitlin
1f33118077 Don't bother building out of date PR versions on AppVeyor
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.
2021-10-03 16:17:33 +02:00
Vadim Zeitlin
7744425c21 Ignore change to files not affecting the build in appveyor.yml
There is no need to rerun the CI builds if only the docs, changelog or
anything GitHub-related changes.
2021-10-03 16:14:21 +02:00
Vadim Zeitlin
2c86dd193b Ignore changes to appveyor.yml in GitHub Actions CI workflow
Don't bother rerunning GitHub CI builds when only AppVeyor configuration
changes.
2021-10-03 16:13:12 +02:00
Vadim Zeitlin
892db20d12 Merge branch 'ci-improvements'
Re-add most of the Linux CI builds previously run by Travis CI to GitHub
Actions CI workflow.

See #2084.
2021-10-03 16:08:46 +02:00
Vadim Zeitlin
3b7e46dd19 Try using one less make job to see its effect on total time
Check if using -j2, rather than -j3, may help with speeding up Octave
unit tests run which takes ~25 minutes currently.
2021-10-01 04:28:11 +02:00
Vadim Zeitlin
f038fcb44d Do nothing in li_std_functors test when using Ruby 2.6
This test sporadically crashes when run in GitHub Actions environment,
so skip it for now when using the Ruby 2.6 version installed by rvm.
2021-10-01 04:26:15 +02:00
Vadim Zeitlin
51cb07711f 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.
2021-10-01 03:20:13 +02:00
Vadim Zeitlin
11c8760639 Install rvm in CI setup script if it's not available
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.
2021-10-01 03:20:13 +02:00
Vadim Zeitlin
4b05d8d947 Don't run ccomplextest as part of JavaScript test suite
This test currently fails due to "I" being undefined, so disable it to
let the rest of the tests to pass and add it later when this can be
fixed.
2021-10-01 02:11:11 +02:00
Vadim Zeitlin
58a49bac66 Suppress more -Wignored-qualifiers in JavaScript tests
This is probably not the greatest idea, and it would be better to change
the generated code to avoid these tests instead, but it was already done
like this for several tests, so just add two more of them that generate
warnings such as

../../member_funcptr_galore_wrap.cxx: In function ‘SwigV8ReturnValue _wrap_MemberFuncPtrs_aaa6(const SwigV8Arguments&)’:
../../member_funcptr_galore_wrap.cxx:3495:90: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
 3495 |   result = (int)((MemberFuncPtrs const *)arg1)->aaa6((short (Funcs::*const )(bool) const)arg2);
      |                                                                                          ^~~~

when using gcc 9.
2021-10-01 01:39:12 +02:00
Vadim Zeitlin
f0b3010440 Avoid another warning about deprecated implicit copy ctor
This is similar to the previous commit, but in the other direction, with
the warning being generated for the implicitly-declared copy ctor due to
having an explicitly-declared assignment operator.

And the fix is different too because we need to have an assignment
operator in this test, so define the copy ctor explicitly too.
2021-10-01 01:39:12 +02:00
Vadim Zeitlin
1f7cd009c9 Remove unnecessary warning triggering copy ctors from the test
Defining a copy ctor results in -Werror=deprecated-copy when using
implicitly-generated assignment operator with recent gcc versions, so
simply remove this copy ctor, which was apparently never needed anyhow,
to avoid it and rely on the compiler generating both the copy ctor and
assignment operator implicitly.
2021-10-01 01:39:12 +02:00
Vadim Zeitlin
576e8317ff Don't set CONFIGOPTS to empty string initially
This results in passing empty argument to configure which, in turn,
triggers "WARNING: you should use --build, --host, --target" from it as
this argument is apparently misinterpreted as the host name.
2021-09-30 20:35:00 +02:00
Vadim Zeitlin
b77b90da88 Define PY3 environment variable if necessary
This fixes handling Python 2 and 3 builds in the same way.
2021-09-30 20:04:49 +02:00
Vadim Zeitlin
07d1ababcc Remove explicit CPP11 from matrix entries not needing it
This actually decreases the C++ version used by the default Ubuntu 20.04
compilers, so it's not clear why should we be using it.
2021-09-30 20:01:15 +02:00
Vadim Zeitlin
6c2a4607f0 Use -fPIE for clang builds
Executables can't be produced without this option using clang available
under Ubuntu 20.04, as linking fails with a lot of errors of the form

/usr/bin/ld: Swig/wrapfunc.o: relocation R_X86_64_32S against `.rodata'
can not be used when making a PIE object; recompile with -fPIE
2021-09-30 18:18:21 +02:00
Vadim Zeitlin
55dfa99e49 Define CC and CXX environment variables correctly
They are supposed to be set to gcc-$GCC and g++-$GCC respectively, if
the suffix is defined, so do it.

Also use "compiler", rather than "CC", in the matrix for consistency
with .travis.yml and to avoid confusion between this property, which may
be empty, and CC environment variable, which is supposed to be always
defined.

Finally, show the path and the version of the compiler being used: this
was also done under Travis CI and there doesn't seem to be any reason
not to do it here.
2021-09-30 18:17:24 +02:00
Vadim Zeitlin
a6300299bf Add builds with other gcc versions and clang
Also remove a not really useful comment mentioning the variables already
used in the matrix mixed up with those not used yet.
2021-09-30 18:02:50 +02:00