.gitlab-ci.yml


Log

Author Commit Date CI Message
Nick Wellnhofer 8c2e508b 2023-03-12T14:45:14 gitlab-ci: Enable all "integer" sanitizers
Nick Wellnhofer 6fd89041 2023-01-22T19:42:41 malloc-fail: Fix use-after-free in xmlParseStartTag2 Fix error handling in xmlCtxtGrowAttrs. Found with libFuzzer, see #344.
Ross Burton b1b0df6e 2022-12-06T17:00:03 CI: disable modules in gcc:static build When shared libraries are disabled we can't build loadable modules either, so the testModule test can't work as the testdso.la target doesn't build a module.
Nick Wellnhofer 138c897d 2022-11-22T14:57:58 gitlab-ci: Treat compiler warnings as errors on MSVC
Nick Wellnhofer 66f781cf 2022-10-24T14:56:26 gitlab-ci: Upgrade image to Ubuntu 22.10, reenable MSan MSan and 64-bit stat was broken on Ubuntu 22.04 (glibc >= 2.33, LLVM <= 14), see https://github.com/llvm/llvm-project/commit/1f82d0f7
Nick Wellnhofer 80e43d1b 2022-10-24T01:08:25 gitlab-ci: Reenable LeakSanitizer Let's hope it works on the asan runners.
Nick Wellnhofer d767c6be 2022-10-23T23:26:31 gitlab-ci: Fix llvm-symbolizer Newer versions of llvm-symbolizer require libxml2 themselves. Running a test program with LD_LIBRARY_PATH set to .libs makes llvm-symbolizer pick up the tested development version of libxml2 which breaks completely if the build is instrumented with ASan. Add a wrapper script that invokes llvm-symbolizer with an empty LD_LIBRARY_PATH.
Nick Wellnhofer f2392dc4 2022-09-09T13:51:58 gitlab-ci: Allow cast-align warnings from clang
Nick Wellnhofer f597eff8 2022-09-07T18:18:06 autotools: Fix winsock detection Hardcode the required library on MinGW because winsock uses non-standard calling conventions on 32-bit Windows which makes AC_SEARCH_LIBS fail. Should fix #406.
Nick Wellnhofer c52dd494 2022-09-06T23:27:01 gitlab-ci: Move MSVC test to separate script
Nick Wellnhofer ea78427d 2022-09-06T22:46:07 gitlab-ci: Fix SUFFIX, remove MINGW_PATH
Nick Wellnhofer e4bdbf3d 2022-09-06T21:29:24 gitlab-ci: Consolidate CMake test scripts
Nick Wellnhofer 861466bf 2022-09-06T20:32:08 gitlab-ci: Only install MinGW autotools if needed
Nick Wellnhofer e86ede09 2022-09-06T18:24:25 gitlab-ci: Only install cmake MinGW package if needed On MinGW, cmake requires curl which requires nghttp2 which requires libxml2. But having a system libxml2 interferes with the Python tests for now. Ultimately, we should use Python's os.add_dll_directory() on Windows. I'm not sure why the current solution using PATH even works.
Nick Wellnhofer 7ab3228f 2022-09-06T18:32:55 gitlab-ci: Install 7-Zip using the .msi So we don't need cmake to extract a file.
Nick Wellnhofer c63b2692 2022-09-05T22:50:45 gitlab-ci: Disable MSan for now MSan seems broken on Ubuntu 22.04.
Nick Wellnhofer 98acf28f 2022-09-04T22:12:32 Use $MSYSTEM and 'bash -lc' in MinGW CI Setting the $MSYSTEM environment variable and invoking shell scripts with 'bash -lc' sets up the correct MinGW environment. See https://www.msys2.org/docs/ci/
Nick Wellnhofer 460ba0cb 2022-09-04T16:00:19 Add CI job for MinGW/Autotools
Nick Wellnhofer 0cc9c1d1 2022-09-04T15:35:47 Consolidate CI scripts
Nick Wellnhofer 89aeb4df 2022-09-04T18:44:52 Allow empty MINGW_PACKAGE_PREFIX
Nick Wellnhofer efc0e85c 2022-09-04T15:26:47 Move Dockerfile to .gitlab-ci directory
Nick Wellnhofer 243fdbc3 2022-09-04T19:13:14 cmake: Don't check for Python 2
Nick Wellnhofer f9fcb2c4 2022-09-04T04:47:48 Revert "CI job for MingW64/Autotools" This reverts commit 6bfebf4d5886bd5f2a3979ceedc27ebd6c3c5009.
Nick Wellnhofer 6bfebf4d 2022-09-04T04:04:45 CI job for MingW64/Autotools
Nick Wellnhofer 202b8e19 2022-09-01T06:52:02 cmake: Enable GCC compiler warnings
Nick Wellnhofer b1a09618 2022-08-29T17:21:19 Migrate from PyEval_ to PyObject_ PyEval_ functions are deprecated. Fixes #208.
Nick Wellnhofer 47803697 2022-08-26T16:31:55 Work around strange -fsanitize=integer issue With clang 14, __attribute__ ((nosanitize)) stops working with -fsanitize=undefined,integer Using the following works (and should be equivalent) -fsanitize=undefined,unsigned-integer-overflow,implicit-conversion
Nick Wellnhofer ebc04fec 2022-08-26T15:10:06 Allow Python deprecation warnings for now See #208.
Nick Wellnhofer 65b01647 2022-04-21T06:27:33 Build Autotools CI tests out of source tree (VPATH)
Nick Wellnhofer ad098030 2022-04-21T06:23:55 Add --with-minimum build to CI tests
Nick Wellnhofer 67070107 2022-04-20T23:17:14 Add configuration flag for XPointer locations support Add a new configuration flag that controls whether the outdated support for XPointer locations (ranges and points) is enabled. --with-xptr-locs # Autotools LIBXML2_WITH_XPTR_LOCS # CMake The latest spec for what it essentially an XPath extension seems to be this working draft from 2002: https://www.w3.org/TR/xptr-xpointer/ The xpointer() scheme is listed as "being reviewed" in the XPointer registry since at least 2006. libxml2 seems to be the only modern software that tries to implement this spec, but the code has many bugs and quality issues. The flag defaults to "off" and support for this extensions has to be requested explicitly. The relevant API functions are deprecated.
Nick Wellnhofer dbc23ed3 2022-04-13T17:02:50 Also build CI tests with -Werror
Nick Wellnhofer e13c8081 2022-04-13T16:45:57 Run CI tests with FTP and legacy modules These modules are disabled by default. Enable them when testing.
Nick Wellnhofer f0ba4da1 2022-04-03T14:30:03 Add CI job for static build
Nick Wellnhofer c2ee4a20 2022-04-02T16:55:18 Fix GitLab pages job
David Seifert d9335077 2022-03-29T13:37:16 Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings * `AM_PATH_PYTHON` is a much more common idiom for building and installing python modules than writing your own. * It also makes cross-compiling the python bindings possible. Previously the `PYTHON_CFLAGS`/`PYTHON_LIBS` would have been based on the `--build` python and not the `--host` python. By using `pkg-config`, we can always redirect the python-X.Y.pc. Bug: https://bugs.gentoo.org/582130
Nick Wellnhofer ff367708 2022-03-02T17:50:00 Make examples a standalone HTML page Also upload to GitLab Pages.
Nick Wellnhofer 0a6a79b2 2022-02-12T21:36:27 Try again to only build GitLab Pages on main repo
Nick Wellnhofer a3aca203 2022-02-12T21:33:53 Try again to only build GitLab Pages on main repo
Nick Wellnhofer 15111c82 2022-02-12T21:25:25 Only build GitLab Pages on main repo
Nick Wellnhofer 2017cae6 2022-02-12T20:02:51 Upload documentation to GitLab pages
Nick Wellnhofer 53983804 2022-01-25T03:08:22 Run CI tests with UBSan implicit-conversion checks This enables the remaining checks from the "integer" group: - implicit-unsigned-integer-truncation - implicit-signed-integer-truncation - implicit-integer-sign-change These checks can find all kinds of bugs and only require explicit casts if integer truncation or sign change is really intended.
Nick Wellnhofer ce2fbaa8 2021-02-22T22:01:57 Only run a few CI tests unless scheduled Only run the following tests by default - gcc - clang:asan - cmake:mingw:w64-x86_64:shared - cmake:msvc:v141:x64:shared
Markus Rickert 09320f05 2021-02-21T14:26:40 Add CI for MSVC x86
Markus Rickert 2065d340 2021-02-05T23:40:18 Add CI for CMake on MSVC
Markus Rickert 1c4f9a6d 2020-11-25T18:01:51 Require dependencies based on enabled CMake options
Markus Rickert e028d293 2020-11-19T17:58:46 Add CI for CMake on Linux and MinGW
Nick Wellnhofer 0ace6c4d 2020-11-19T17:35:11 Add CI test for Python 3
Nick Wellnhofer af893a58 2020-06-11T16:08:16 Update GitLab CI container
Nick Wellnhofer 2a7b6684 2020-03-02T11:52:52 Disable LeakSanitizer The GitLab runner doesn't run in privileged mode anymore [1], at least for projects outside the GNOME group. Disable LeakSanitizer for now as it needs the ptrace capability. [1] https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/251
Nick Wellnhofer db0c0450 2019-11-02T15:14:10 Enable more undefined behavior sanitizers Minor fix to xmlStringLenGetNodeList to avoid a pointer overflow during API test. Enable pointer-overflow and unsigned-integer-overflow sanitizers in CI tests. Technically, unsigned integer overflows aren't undefined behavior, but they typically indicate programming errors. Some hash functions that really require unsigned integer overflows have already been annotated.
Nick Wellnhofer a5bb6aaa 2019-10-29T14:21:54 Run XML conformance tests under CI Also add llvm to Docker image so that backtraces can be symbolized.
Nick Wellnhofer 55d95dcf 2019-10-20T18:03:21 Update GitLab CI config - Update Dockerfile - Don't configure with -Werror - Don't mention Travis in CONTRIBUTING
Nick Wellnhofer 61f2abb1 2019-10-04T00:21:24 Enable continuous integration via GitLab CI Port the Travis CI setup to GitLab. We currently run three builds: - GCC with -std=c89 - clang with ASan and UBSan - clang with MSan Closes #110.