Commit Graph

194 Commits

Author SHA1 Message Date
Scott Talbert
a49e10a057 Exclude some bakefiles from Whitespace code check too 2023-07-25 16:10:39 -04:00
Scott Talbert
fdd6ad2d16 Check building samples out of tree in a CI job
(cherry picked from commit 8b83e45f0e55309080980d82ab5c70fc010ff219)
2023-07-25 15:50:05 -04:00
Vadim Zeitlin
1c64bd506c Use grep instead of fgrep and egrep
The latter are deprecated and shouldn't be used any longer.

No real changes.

See #23537.

(cherry picked from commit a0e3f1e1aba5fd7858936773f09d96ae63041381)
2023-05-10 23:48:09 +02:00
Vadim Zeitlin
7649d4cb72 Replace macOS 10.15 runners with macOS 11 ones
10.15 is being phased out by GitHub, so switch to the still supported
runner platform version.

Closes #22698.

(cherry picked from commit 4e26568f9727936d3c84b1f3689086f07ff71878)
2023-05-06 18:54:17 +02:00
Vadim Zeitlin
68392f8a43 Avoid deprecation warnings for gha-setup-vsdevenv action
Switch to a local fork of the action using node 16 and latest
actions/core package as both are necessary to avoid getting deprecation
warnings.

(cherry picked from commit f044e5cab348d687c81d905949b9c6c9f2ce9422)
2023-05-06 18:53:43 +02:00
Vadim Zeitlin
e9a0f96498 Don't run regex unit tests in non-Unicode build
These tests rely on Unicode support and fail without it.
2023-05-04 18:36:24 +02:00
Vadim Zeitlin
38c4b48509 Test non-Unicode wxMSW build in CI workflow
This build is the one which risks getting broken the most as it's so
little used, so we must have a test for it in the CI.

Also enable 2.8 compatibility for it under assumption that people
disabling Unicode support must be working with legacy code bases.
2023-05-03 21:51:02 +02:00
Scott Talbert
ca4db68006 CI: ignore CircleCI config files from all other CIs
Avoid spurious rebuilds when modifying CircleCI config files.

See #23405.

(cherry picked from commit 04326551fd05fcc97b77ff954501e871f3e8c1c5)
2023-04-04 17:18:02 +02:00
Vadim Zeitlin
aae05406e6 Extend wxWebView test hack to all the builds
The first unit test using wxWebView sometimes fails in other builds too,
so try using the same hack as was previously used for the clang build
for them as well.

(cherry picked from commit 3ac39970b1e9c30c5d339d8a03d19d1d4fba504d)
2023-03-29 19:56:26 +02:00
Vadim Zeitlin
f9befcc720 Fix using Wine in wxMSW cross-CI workflow
Since 8.0~repack-3 version of the Debian Wine package, installing wine64
doesn't create wine64 symlink any more and wine package needs to be
installed to do it, apparently due to the changes done to fix
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029536

This resulted in the tests not running any more because we used wine64
for running them. Just use "wine" now and install wine package, as it
should still run 64-bit binaries just fine.

(cherry picked from commit 28e0a7e01debf01e8f42524b6071714b7778c6c6)
2023-03-29 13:28:04 +02:00
Vadim Zeitlin
7ad5b882b6 Enable wxWebView in ASAN Unix CI build
Work around the problem which was previously hidden by 07dfc18cc0
(Disable wxWebView in ASAN CI build, 2021-01-31) by building the webkit
extension shared library without ASAN.

This should ideally be handled at the build system level, but this seems
difficult to do, so use this hack for now -- it at least ensures that
wxWebView unit tests are tested with ASAN too.

(cherry picked from commit 8ee559430b11008ec3825d8470aa281808091b37)
2023-03-29 12:28:12 +02:00
Vadim Zeitlin
24d696cfec Switch CMake wxGTK build to Ubuntu 22.04
Avoid warnings about using deprecated Ubuntu 18.04 runner.

(cherry picked from commit f8da25ca4533704d83a55705eb2559fefd23c2b3)
2023-03-06 23:13:25 +01:00
Vadim Zeitlin
1074cc885e Run Ubuntu 18.04 builds in a container on GitHub CI
Ubuntu 18.04 runner environment is being deprecated, so use a container
running inside the latest Ubuntu runner environment instead.

This is a combined cherry-pick of several commits merged into master as
part of e6dfd9748f (Merge branch 'ci-use-containers', 2022-10-10)
excluding those removing pre-C++11 support, which is still needed in
this branch.
2023-03-06 23:09:49 +01:00
Vadim Zeitlin
0f6dfb6369 Add missing new line before the checksums
Just a minor cosmetic fix.
2023-02-13 16:03:02 +01:00
Vadim Zeitlin
5b0518eddf Update version of action-gh-release in another place
This should have been part of 3f6e2ca578 (Update the version of
action-gh-release used, 2023-02-09).
2023-02-13 15:37:12 +01:00
Vadim Zeitlin
3f6e2ca578 Update the version of action-gh-release used
No real changes, but this updates to a commit using action/checkout@v3
which avoids warnings when running this workflow.
2023-02-09 01:27:28 +01:00
Vadim Zeitlin
2b1da43a7d Don't look for C++11 keywords in the comments
Avoid flagging the use of "override" in a comment as a C++11 keyword by
stripping the comments before checking for the keywords forbidden in
this branch.

This is not 100% correct and doesn't deal with multiline comments at
all, but we use the latter ones rarely and it's not worth the effort to
add support for them here.
2023-02-08 20:49:54 +01:00
Vadim Zeitlin
e575b22aa7 Fix the branch compared with in the parent commit
Compare with this branch, not master.
2023-01-31 15:12:02 +01:00
Vadim Zeitlin
dc9baf6426 Add automatic check for not using nullptr etc in 3.2 branch
This is similar to the check in master but here it checks that the C++
keywords are not used, as we still support C++98 in this branch.
2023-01-31 15:06:47 +01:00
Vadim Zeitlin
e3c869ee98 Use C++98 for some CI builds in 3.2 branch
This should help to detect any future breakages of building the library
with a C++98 compiler.
2023-01-12 17:49:28 +01:00
Vadim Zeitlin
032a71b4db Update GitHub actions to avoid relying on deprecated versions
This backports changes already done in master and upgrades to the
currently supported versions of the different actions, most importantly
actions/checkout one.
2022-12-18 03:22:54 +01:00
Vadim Zeitlin
af3db51d71 Fix typo in ccache-action version in the parent commit 2022-11-16 20:48:18 +01:00
Vadim Zeitlin
ea6769fe94 Avoid deprecation warnings in ABI check CI job
Just bump ump the versions of the actions used to the same values that
we already use in master.
2022-11-16 15:30:22 +01:00
PB
317a133407 Do not trigger non-CMake CI builds with CMake-only changes
See #22934.

(cherry picked from commit 5c72c7af355f01416fe08985a02e37fe02ae7c80)
2022-11-12 17:47:15 +01:00
Vadim Zeitlin
10a7ee987a Fix bug when creating a new release in our gh-release action fork
The previous bug fix fixes updating an existing release, but broke
creating the new ones, which wasn't ideal.

(cherry picked from commit 31720e1ee102b195265203f9e9886929bff0528d)
2022-09-04 17:48:11 +02:00
Vadim Zeitlin
f0cfdab02f Merge branch 'release-workflow'
More fixes for the release workflow.

(cherry picked from commit 12155bff3dcfe3fdd3a9e11c33e1d1071a0418f2)
2022-09-04 16:43:00 +02:00
Vadim Zeitlin
ac18f513ab Add a GitHub Actions workflow for creating releases
This takes care of the easy to automate steps.

(cherry picked from commit d5a9d99781ccf45f59b252977821068304c8fc05)
2022-09-04 03:26:15 +02:00
Vadim Zeitlin
2704d5e26b Check for whitespace problems relative to 3.2 branch, not master
This should have been part of 42f4f2c7c7 (Run CI builds on 3.2 branch,
not master, in this branch, 2022-07-04).
2022-08-18 23:31:58 +02:00
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
93577ce1b3 Add CI workflow checking ABI stability
Add the ABI files generated by libabigail abidw tool (note that
--no-corpus-path --no-comp-dir-path options were used to avoid having
system-specific object file paths in these files and the source file
paths were edited to remove the system-specific prefix from them too)
and a script comparing the current ABI with these files.

Also update the documentation to describe using libabigail tools as
abi-compliance-checker doesn't seem to work under the recent systems any
longer: it gives some warnings and doesn't detect ABI-incompatible
changes.

Closes #22634.
2022-07-17 17:19:02 +02:00
Vadim Zeitlin
552df55391 Explicitly use .exe extension when launching tests under Wine
Wine 7.0 and later doesn't find the command if the extension is omitted
any longer, unlike the previous versions.

(cherry picked from commit 623a68c8fa869205ba469111e2f5182cb4705f73)
2022-07-17 15:43:24 +02:00
Vadim Zeitlin
8cc2b4ce0f Update online documentation for 3.2 in this branch 2022-07-05 13:57:47 +02:00
Vadim Zeitlin
42f4f2c7c7 Run CI builds on 3.2 branch, not master, in this branch 2022-07-04 01:32:51 +02:00
Vadim Zeitlin
1a53e80bf7 Use Doxygen Awesome CSS theme
Import the theme files into a subdirectory without any changes, even not
removing the trailing whitespace, to facilitate updating them in the
future. Do not add the theme as a submodule as it's surprisingly big
(~12MB) and we don't want to spend extra time on cloning it in each of
our CI builds.

Using this theme gives a nicer appearance and supports the often
requested dark mode.

Remove all colour-related options from the existing custom CSS file as
they don't work well in dark mode.

Also switch to using SVGs with transparent background, rather than PNGs,
for the class diagrams, to avoid background colour mismatch in dark
mode.
2022-07-02 16:57:57 +02:00
Vadim Zeitlin
3c7596f0ff Switch to using Doxygen 1.9.1 for the documentation generation
This fixes the problem with empty descriptions in the annotated class
list and is a prerequisite for using custom CSS theme in the upcoming
commits.

Closes #22288.
2022-07-02 16:10:21 +02:00
Vadim Zeitlin
7def27f1c2 Run ASAN CI builds under Ubuntu 22.04
Leak sanitizer regularly crashes under Ubuntu 20.04, so try using the
newer version in the hope that it will work better there.
2022-06-29 22:27:48 +02:00
naveen
64add326f6 Restrict job permissions in GitHub actions workflows
Restrict the GitHub token permissions only to the required ones, i.e.
just read-only access to the code.

This is done in order to reduce the potential harm in case of a
malicious pull request, see GitHub blog post at
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>

Closes #22574.
2022-06-28 14:00:44 +02:00
Vadim Zeitlin
e7785ac224 Merge branch 'bmp-read-fixes'
Fix and improve/simplify BMP reading code, in particular restoring
support for loading BI_BITFIELDS bitmaps broken some time ago.

See #22504.
2022-06-10 17:17:56 +01:00
Vadim Zeitlin
94a7251d81 Make the issue template even more prescriptive
Some things that seem too obvious to say apparently are not, so do say
them explicitly, as having the leftover from the template in the bug
reports is really confusing.
2022-06-10 18:14:35 +02:00
Vadim Zeitlin
94303bd1c4 Exclude all hidden tests in Mac CI workflow
We need to explicitly exclude these tests, which are not supposed to be
run, when specifying the tests to run using exclusions.
2022-06-09 01:33:46 +01:00
Vadim Zeitlin
c65c0e44f3 Remove duplicated configure call from Mac CI workflow
This seems to have been accidentally added in 6afd2e8f87 (Revert "making
sure CI builds don’t contaminated checked out directory on self-hosted
runner", 2022-04-17).
2022-04-19 00:33:33 +02:00
Stefan Csomor
db49f840ab Add GitHub Actions workflow for CI builds using Xcode
Also update the file used for Xcode builds to make them actually
succeed.

See #22321.
2022-04-19 00:31:07 +02:00
Stefan Csomor
e5827d0ae9 using proper bash defaults
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
2022-04-18 17:37:03 +02:00
Stefan Csomor
6afd2e8f87 Revert "making sure CI builds don’t contaminated checked out directory on self-hosted runner"
This reverts commit 88bd6d0135. we’re trying to use this approach: https://docs.github.com/en/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job
2022-04-17 23:33:50 +02:00
Stefan Csomor
88bd6d0135 making sure CI builds don’t contaminated checked out directory on self-hosted runner
self-hosted runners are stateful - surprise - so we have to isolate things better
2022-04-17 20:47:54 +02:00
Vadim Zeitlin
73dc9086f5 Don't fail the entire CI run just because of cache saving error
Update ccache-action to a not yet released version including the fix for
failing the entire CI job if saving the cache failed -- this shouldn't
happen at all, but in practice it does happen from time to time, and
it's better to succeed, rather than fail in this case.
2022-04-16 16:07:20 +02:00
Vadim Zeitlin
e9aaca50c2 Fix the name of the test excluded in the CI builds using Wine
The apparently innocuous a0d1379a57 (Split wxDC::GetTextExtent() test
case in 3 pieces, 2022-03-29) has broken the CI builds because it moved
the code failing under Wine (apparently due to problems in metafile
support implementation) into a differently named test.

Fix this now by excluding the right test.
2022-03-30 00:55:17 +02:00
Vadim Zeitlin
ecbcbdc945 Use ccache in MSW cross build CI workflows too
This should hopefully help to speed up this build as well.

Unfortunately we can't easily use ccache for the Mac builds because this
requires having brew installed and we don't have it currently.

We probably can use it for CMake workflow but this probably requires
some arcane way of configuring CMake to use ccache that I'm not aware
about and would need to be done by someone else.
2022-03-29 21:00:57 +02:00
Vadim Zeitlin
54f3264886 Use latest version of ccache action in GitHub CI workflow
It has a number of fixes and it makes sense to standardize on this
version before starting to use it in the other workflows too.
2022-03-29 21:00:57 +02:00
Vadim Zeitlin
263b1844dc Show only the updated files when uploading the docs
Don't use rsync "--verbose" option as it's too verbose, show just the
names of the files being uploaded.
2022-03-28 11:44:48 +02:00