Commit Graph

281 Commits

Author SHA1 Message Date
Scott Talbert
e676c621d4 CI: fix/simplify httpbin use by standardizing Python version
Now that we don't use Travis CI any longer (and don't use httpbin on the
other CI providers yet), we can make our life much simpler by just using
Python 3.10 on all platforms instead of trying to find version-specific
workarounds for various python/pip/httpbin incompatibilities.

Closes #22726.

(cherry picked from commit 458dc814c241066323858182e55d2186d396c09d)
2022-08-18 21:56:36 +02:00
Vadim Zeitlin
467d96c03d Add a Fedora CI build using Circle CI
This is a backport of the following commits from master:

934aa20d69 Build and run tests on Circle CI too
9f1bf3982d Install RPM required for Shift-JIS support in Fedora
64aefb5f4e Install locales used by the tests under Fedora
84120664ca Make Circe CI script more consistent with Cirrus CI
bf3951866c Install Git before checking out the sources
3eb78a328e Use ccache in Circle CI job
e63fe497ab Install more optional libraries under Fedora
a527b2714d Allow installing extra packages in before_install.sh
b430a6104c Add a minimal Fedora build using Circle CI
382db6439b Install required packages on RedHat-like systems
2022-08-14 17:17:50 +02:00
Vadim Zeitlin
113a32366e Increase version to 3.2.1
Run misc/scripts/inc_release, bakefile_gen and autoconf.
2022-07-31 22:03:44 +02:00
Vadim Zeitlin
a9884284f5 Fix pip installation problem under Ubuntu 22.04
pip 19.1 seems to be incompatible with Python 3.10 used there.
2022-06-29 22:27:48 +02:00
Vadim Zeitlin
e3adac72ac Work around error with libgstreamer1.0-dev under Ubuntu 22.04
Installing this package directly fails because of a conflict between one
of its dependencies and the already installed libc++-dev which depends
on another, incompatible, version of the same library.

Work around this by installing libunwind-dev directly, which is enough
to make apt uninstall libc++-dev and libunwind-14-dev that it depends on
instead of just stopping with an error.

It's not really clear how are we supposed to use clang with libc++ in
this environment, but this at least allows to build with gcc.
2022-06-29 22:27:48 +02:00
Vadim Zeitlin
402f0db6f8 Update file used for building MSVS binaries to use 3.2.0 too
This should have been part of 2a2308d5ed (Update version to 3.2.0 and
rebake and rerun autoconf, 2022-06-13).
2022-06-27 18:36:37 +02:00
Vadim Zeitlin
231c079c70 Install build dependencies for FreeBSD too
So far do it for GTK 3 only.
2022-06-23 15:27:19 +01:00
Vadim Zeitlin
a1f29366f0 Detect the number of CPUs under FreeBSD too
This is under done using exactly the same command as under macOS,
unsurprisingly.
2022-06-23 15:26:36 +01:00
Maarten Bent
818135942f CMake: Set correct variable in AppVeyor build
CONFIG mode uses the <packageName>_DIR variable.

CMake has an error when generating the solution because the
lib/vc_x64_dll/mswud directory does not exist; it is not built and installed.
So only add the used configuration.
2022-06-18 17:06:16 +02:00
Vadim Zeitlin
ec903e0f79 Update MSYS2 MinGW version to 12.1.0
This is the currently used version that will be used for the next
release.
2022-06-06 15:41:01 +02:00
Vadim Zeitlin
f2425c5cbd Check that no symlinks are included in the distribution archives
They're not handled by the current 7z version under MSW if the user
doesn't have administrative rights and, instead of dealing with this,
it's simpler to just never include any symlinks in the archives as we
don't really need them anyhow.

So add a check ensuring that no symlinks are included in the
distribution archives to avoid more problems such as the one fixed in
the parent commit in the future.
2022-04-21 01:08:43 +02:00
Vadim Zeitlin
26e35e0170 Use port free even under macOS 12 port for running httpbin
The default httpbin listening port 5000 is used by Monterrey (macOS 12)
Control Center for its own needs, so use another port to avoid conflicts
with it and the resulting failures when running wxWebRequest unit tests
under this macOS version.
2022-04-17 18:48:12 +02:00
Vadim Zeitlin
2d675acd6b Fix handling apt install errors in install script
Logging the error code reset it (as echo executed successfully), so save
it first.

Also check for the failure of the second attempt to run apt too.
2022-04-10 17:47:54 +02:00
Vadim Zeitlin
19e3a47d98 Update version to 3.1.7 and rebake the makefiles
Make it possible to distinguish the latest master from 3.1.6 before
making any changes.

Closes #22282.
2022-04-07 17:40:13 +02:00
Xaviou
d923feee31 Readme Update 2022-04-03 10:56:18 +02:00
Xaviou
d686a44b4f Update MinGW build tools (MinGW-1030-TDM and MSYS2 MinGW-1120) 2022-04-03 10:45:07 +02:00
Vadim Zeitlin
1aab9e7ebb Try to fix problems with running httpbin in the CI builds
Fix the last known working Flask version, the latest one results in the
errors like the following

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/home/runner/.local/lib/python3.8/site-packages/httpbin/__init__.py", line 3, in <module>
    from .core import *
  File "/home/runner/.local/lib/python3.8/site-packages/httpbin/core.py", line 22, in <module>
    from werkzeug.wrappers import BaseResponse
ImportError: cannot import name 'BaseResponse' from 'werkzeug.wrappers' (/home/runner/.local/lib/python3.8/site-packages/werkzeug/wrappers/__init__.py)
2022-03-29 21:00:57 +02:00
Vadim Zeitlin
e77d5f3094 Log the exit code of run_apt shell function
It seems like this function sometimes doesn't return non-zero exit code
even though it fails to fetch some packages (e.g. due to a network
error), so log its status code to check if this is really the case.
2022-02-25 00:16:10 +01:00
Scott Talbert
57b4a11f24 Install Python wheel module to fix Windows CI
This is needed since GitHub CI images update to windows-2022 base image,
which notably changes Python version from 3.7 to 3.9 and requires
building wheels for some of the packages not available on PyPI for this
version.

Closes #22091.
2022-02-04 02:06:11 +01:00
Scott Talbert
085d15015a Don't install old or non-existent packages during Linux CI
libwebkitgtk-3.0-dev is long deprecated and isn't used anyway.
gstreamer-0.10* no longer exists even on Ubuntu 18.04.
gstreamermm* is not used by wxWidgets.

Closes #22069.
2022-01-30 22:56:25 +01:00
Iwbnwif Yiw
5ba2461fd1 Switch to using GSpell for wxTextCtrl proof checker in wxGTK
Use GSpell rather than GtkSpell because GSpell also allows to check
single line text controls.

Closes https://github.com/wxWidgets/wxWidgets/pull/2516
2021-09-11 14:02:13 +02:00
Vadim Zeitlin
61340fcc82 Merge branch 'textctrl-spellcheck'
Add wxTextCtrl::EnableProofCheck() to use native spell checking support.

See https://github.com/wxWidgets/wxWidgets/pull/2473
2021-08-27 21:58:32 +02:00
Vadim Zeitlin
5d9e29b006 Update AppVeyor test script after the last commit
Use correct path for the tests binaries.
2021-08-27 14:28:07 +02:00
iwbnwif
472aec2d7e Add support for using native spell checking in wxTextCtrl
Add wxTextCtrl::EnableSpellCheck() and implement it for wxMSW and
wxGTK3.

Closes #17544.
2021-08-23 14:15:38 +02:00
Maarten Bent
7446c64333 Add script to determine proc count in CI 2021-07-24 16:38:28 +02:00
PB
346a31d545 Remove TravisCI mentions from build scripts
Travis CI is not used anymore, remove its mentions from the build scripts.
2021-07-15 13:53:12 +02:00
PB
91f6bee71b Remove TravisCI build scripts
Travis CI is not used anymore, remove its scripts.
2021-07-14 22:34:27 +02:00
Vadim Zeitlin
0f91a4bb1f Get setuptools in httpbin installation script too if necessary
This module is not always available, e.g. it's missing in GitHub Actions
Ubuntu 16.04 image currently.
2021-07-10 23:45:27 +02:00
Vadim Zeitlin
525fb911d6 Remove special case for macOS in httpbin installation script
This is not necessary any longer since the changes of 1b76ff4887
(Disable wxWebRequest tests on CI platforms without Python 3,
2021-05-16) as we require Python 3 for httpbin anyhow.
2021-07-10 23:42:58 +02:00
Vadim Zeitlin
938a0dd919 Slightly improve check for pip in httpbin script
Using "-m pip" results in an unwanted usage message from pip, so use
"-c 'import pip'" instead.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
0bb6f80a1e Check that lsb_release is available before using it
It is not present in e.g. sid-slim image used for wxMSW cross-build CI
workflow.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
1b76ff4887 Disable wxWebRequest tests on CI platforms without Python 3
This currently means macOS 10.11 only, which is only used on Travis CI
and Python 2 installation there is broken anyhow, so this doesn't make
anything worse than it already is.
2021-05-17 01:26:32 +02:00
Vadim Zeitlin
f3b275321c Update comment to mention GitHub CI too
No real changes.
2021-04-16 19:23:28 +02:00
Vadim Zeitlin
994400eb17 Don't dump apt preferences in the CI build logs
This doesn't seem very useful and results in a lot of output.
2021-04-16 19:13:00 +02:00
Vadim Zeitlin
15aaf9a163 Stop installing debug repository apt key manually
This shouldn't be necessary any longer, as the corresponding Ubuntu bug
(https://bugs.launchpad.net/bugs/1920640) is supposed to be fixed.
2021-04-16 19:10:16 +02:00
Vadim Zeitlin
dc5f1711f2 Upgrade version to 3.1.6
Run misc/scripts/inc_release, bakefile_gen and autoconf.
2021-04-14 17:57:27 +02:00
Vadim Zeitlin
d01760ae41 Ignore apt-get update error in Travis CI build
For now just ignore it, it might be better to prune the repositories we
don't need, such as https://downloads.apache.org/cassandra/debian, which
result in the errors.
2021-04-12 21:04:21 +02:00
Vadim Zeitlin
e5011b46ae Recognize clang correctly in macOS Travis CI builds
It is called g++, but is actually always clang, so don't even bother
checking "g++ --version" output.
2021-04-06 18:49:29 +02:00
Vadim Zeitlin
8bc2ff71e2 Recognize g++ as value of TRAVIS_COMPILER
In macOS builds TRAVIS_COMPILER is set to g++ and not gcc, which
resulted in not handling it correctly and giving a bogus warning.
2021-04-06 18:45:52 +02:00
Vadim Zeitlin
7063813b59 Hardcode versions of all httpbin dependencies under Trusty
Python package hosting seems to randomly decide which version of the
package to return to pip running under Trusty: in addition to werkzeug
(see last commit), the version of flask has spontaneously changed from
1.0 to 1.2 in the latest build too.

Just hardcode the versions of all dependencies in the last successful
build and hope they keep working for longer than a day.
2021-04-05 17:56:09 +02:00
Vadim Zeitlin
c7c60877e4 Fix another dependency problem with httpbin and Python 3.4
Crazily, pip installs seem to be non-deterministic as installing httpbin
in https://travis-ci.org/github/wxWidgets/wxWidgets/jobs/765946720
pulled in werkzeug 0.16.1 which works with Python 3.4, but doing it
again tries to use werkzeug 1.x which isn't.

Fix the version explicitly to work around this.
2021-04-05 17:21:53 +02:00
Vadim Zeitlin
f024551395 Use Python 3 for httpbin installation under Ubuntu Trusty
Trying to use Python 2 under Trusty is hopeless, as pythonhosted.org has
already started dropping support for non-SNI clients and will drop it
completely soon, see https://status.python.org/incidents/hzmjhqsdjqgb
and https://github.com/pypa/pypi-support/issues/978, and SNI is not
available in the system Python 2 version (2.7.6, which is less than
2.7.9 in which it was added).

Note that we still can't use Python 3 everywhere as long as we have
macOS 11 builds as it's not available there.
2021-04-05 16:36:56 +02:00
Vadim Zeitlin
0bc1dbf218 Use user mode for pip upgrade
This is default for some platforms, but not everywhere, so use it
explicitly.

This should fix the error in Travis CI S/390 build.
2021-04-04 14:16:30 +02:00
Vadim Zeitlin
ee5a8096bd Install pip if it's not available at all
This is not supposed to happen, but somehow it does on Travis CI, so try
to remedy this by installing pip via apt if it's missing.
2021-04-04 01:53:29 +02:00
Vadim Zeitlin
21c97d155a Show pip version used for installing httpbin in the logs 2021-04-04 01:45:01 +02:00
Vadim Zeitlin
5498668514 Don't use broken pip version 20.0
Pip continues to impress with version 20 being completely broken and not
running at all.

Try the next one, which is supposed to fix this bug.
2021-04-04 01:43:50 +02:00
Vadim Zeitlin
c7961fa666 Don't upgrade pip to a version which is too new
Amazingly, updating a package has no problems with installing a newer
version incompatible with the current Python version, such as installing
pip 21 when using Python 3.5.
2021-04-04 01:43:50 +02:00
Vadim Zeitlin
d5d28e639e Attempt to make pip install actually work by upgrading it first
Old pip versions don't work when used with python3, so upgrade pip
before trying to use it.
2021-04-04 01:43:12 +02:00
Vadim Zeitlin
da0f6bd2a6 Use Python 3 for running httpbin in non-Trusty Linux CI builds
Even Ubuntu 16.04 has Python 3 and pip3, so just use them instead of
trying to work around problems with Python 2.
2021-04-04 01:25:04 +02:00
Vadim Zeitlin
2b89215eec Extract function for launching httpbin into its own file
Allow reusing it between GitHub and Travis CI.

Also show httpbin log in Travis CI logs too, not just on GitHub.
2021-04-04 01:00:35 +02:00