summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* Revert "CI: Disable native Windows builds for now"Simon McVittie2023-05-161-4/+0
| | | | | | | | | It seems they do work, it was just very slow to build the image. This reverts commit a3a14ea09eb3ade08cd6b4c6af57afd8b1c0b8bb. Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/456 Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Disable native Windows builds for nowSimon McVittie2023-05-121-0/+4
| | | | | | | | These are extremely slow (the image build is currently at 36 minutes and still running) which is standing in the way of us having functional CI at all. They can be re-enabled if someone will maintain them. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Disable "opensuse mingw64 cmake debug" until #455 is fixedSimon McVittie2023-05-121-0/+2
| | | | | | Having some CI is better than having no CI. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Install mingw64-cross-cmake in openSUSE imageSimon McVittie2023-05-121-1/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Update Windows runnersSimon McVittie2023-05-121-3/+3
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Remove an obsolete workaroundSimon McVittie2023-05-121-2/+0
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Update to current fdo CI templatesSimon McVittie2023-05-121-1/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Only run for pushes to dbusSimon McVittie2023-05-121-1/+1
| | | | | | | | In practice the pipeline is going to fail for namespaces other than dbus, so don't waste time on trying to run it there; only run the detached pipeline for the MR. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Run a detached pipeline for merge requestsSimon McVittie2023-05-121-0/+5
| | | | | | | | After abuses of fdo infrastructure were mitigated in freedesktop/freedesktop#540, contributors cannot usually run pipelines in their own forks of dbus. Signed-off-by: Simon McVittie <smcv@collabora.com>
* gitlab-ci: build libdbus as subprojectDaniel Wagner2023-02-071-0/+9
| | | | | | | Test it's possible to consume libdbus as a subproject. Suggested-by: Simon McVittie <smcv@collabora.com> Signed-off-by: Daniel Wagner <dwagner@suse.de>
* .gitlab-ci.yml: exclude non-functioning test 'header-fields' in job 'windows ↵Ralf Habacker2023-02-061-1/+1
| | | | | | vs15-64 cmake' Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* CI: Re-clone the git repository every timeSimon McVittie2023-02-061-0/+3
| | | | | | | This cleans up checkouts that were subjected to `chown -R` prior to this. Resolves: dbus/dbus#447 Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Don't change ownership of source directorySimon McVittie2023-02-061-2/+1
| | | | | | | | | | | | These CI scripts were originally used on Travis-CI, which starts all builds as an ordinary user that has the ability to become root via `sudo`. On Gitlab-CI, we don't need that: we start as uid 0, and can do the whole CI run like that. This also means we get somewhat better test coverage, because some of our unit tests benefit from being run as uid 0. The only test coverage we lose by being uid 0 is that test_pending_fd_timeout() in test/dbus-daemon.c is skipped, because uid 0 bypasses the limit that's under test there.
* ci: build dbus with clang as wellEvgeny Vereshchagin2022-10-131-0/+9
| | | | | | | It should make it possible to catch issues like like https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/357 Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
* gitlab-ci: update FreeBSD CI image to 13.1Alex Richardson2022-09-211-2/+2
| | | | | | | | | | FreeBSD 13.0 has reached EOL and it appears packages are built against a newer baseline now, so we end up with missing symbol errors: ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found It also appears that the fdpass test still fails on 13.1, so update the condition to less than 14.0
* gitlab-ci: Add a FreeBSD meson jobAlex Richardson2022-08-101-1/+13
| | | | | Also bump the FDO_DISTRIBUTION_TAG to ensure the disk images include meson.
* test/fdpass.c: skip test that fails on FreeBSD 13.0Alex Richardson2022-08-101-1/+0
| | | | | | | | | The /odd-limit/at test passes on 13.1 and 14.0 images, but fails on 13.1. Debugging has not given me any useful hints why this may be the case, so disable this test on 13.0 for now. This allows us to drop the ci_test_fatal: "no" override which will ensure that any FreeBSD regressions are caught.
* gitlab-ci: Add a FreeBSD autotools CI jobAlex Richardson2022-08-101-0/+9
| | | | | Now that the underlying issues with FreeBSD autotools CI have been fixed, we can add a CI job to prevent future regressions.
* gitlab-ci: Use GNU make on FreeBSDAlex Richardson2022-08-101-1/+1
| | | | | | The Makefile.am files contain % pattern rules that are not supported by `make` (bmake) on FreeBSD. Since the replacing the patterns is non-trivial, this commit updates the CI script to use GNU make when building on FreeBSD.
* gitlab-ci: Don't use sudo for the FreeBSD jobAlex Richardson2022-08-101-0/+4
| | | | | We are already building as root and sudo is not currently installed on the CI image, so the autotools build fails without this change.
* gitlab-ci: Install pkg-config on FreeBSDAlex Richardson2022-08-101-1/+1
| | | | | | Without this change the autotools build system fails to find glib and reports an error. The CMake build worked prior to this change since CMake has fallback logic to find glib even without pkg-config.
* gitlab-ci: Add a FreeBSD CMake CI jobAlex Richardson2022-08-101-6/+80
| | | | | | | | | | | | This uses https://gitlab.freedesktop.org/freedesktop/ci-templates, and runs the FreeBSD build+test inside a QEMU VM. This depends on the recently merged ci-templates MR https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/142, so we bump the required ci-templates commit hash. There is one undiagnosed failure in test-fdpass that needs investigation, so for now failures are permitted. Autotools and meson jobs will be added in follow-up commits.
* CI: take cmake config.h as artifactsMarc-André Lureau2022-07-131-0/+6
| | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* CI: Don't run tests for openSUSE Meson mingw builds for nowSimon McVittie2022-07-131-0/+3
| | | | | | They don't find their library dependencies. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Skip tests that run dbus-daemon when running on WindowsSimon McVittie2022-07-131-2/+3
| | | | | Mitigates: #400 Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Explicitly build before running testsSimon McVittie2022-07-131-0/+1
| | | | | | | | If we don't do this, Meson will build everything that is a direct dependency of the test executables, but it won't build indirect dependencies like GLib's gspawn-win32-helper.exe. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Collect artifacts for Windows buildsSimon McVittie2022-07-131-0/+16
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Force use of subprojects for Windows 32-bit buildSimon McVittie2022-07-131-1/+1
| | | | | | | The Windows image has expat and zlib installed, but they're 64-bit DLLs which won't link successfully into our 32-bit build. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Collect config.hSimon McVittie2022-07-131-0/+1
| | | | | | | This will help to verify that the Meson and Autotools/CMake builds are equivalent. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Add glue to build with mingw-w64 toolchain on DebianSimon McVittie2022-07-131-0/+17
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Verify that Autotools `make dist` includes everything needed for MesonSimon McVittie2022-07-131-0/+2
| | | | | | | | | | | | | | | | | This is similar to what we have done for CMake since dbus/dbus!87 (commit 1063bba "CI: Do the CMake native debug build from an Autotools `make dist`"). Our official source releases are Autotools `make dist` tarballs, so our CI should assert that such tarballs contain everything necessary to do a CMake or Meson build, so that downstream distributions using our tarballs as source can choose their preferred build system. When the Meson build system is ready to be recommended as more preferred than Autotools, we can do as GLib did: stop releasing `make dist` tarballs, and start releasing `meson dist` tarballs instead (which will change nothing for Meson or CMake users, but Autotools users will have to run autoreconf or autogen.sh before building). Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Consistently build in ./buildSimon McVittie2022-07-131-5/+3
| | | | | | | This will make it easier to capture log files. All our CI builds happen in an expendable checkout, so we can safely remove and re-create ./build. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Collect all Meson logs, not just the test logSimon McVittie2022-07-131-1/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* Add meson build CIMarc-André Lureau2022-07-131-1/+49
| | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* tools/ci-install.sh: Install newer CMake on openSuSEAlex Richardson2022-05-171-1/+1
| | | | This is needed for JUnit XML output for tests.
* tools/ci-build.sh: Add a ci_cmake_junit_output argumentAlex Richardson2022-05-171-12/+37
| | | | | | CMake 3.21 can emit JUnit XML test results which can be visualized by GitLab. This also updates the gitlab CI config file to make use of this feature whenever possible.
* Use freedesktop/ci-templates for the GitLab CIAlex Richardson2022-05-071-6/+46
| | | | | | | | | The CI templates include infrastructure to create docker images with all packages specified in tools/ci-install.sh. Using those docker images speeds up the CI since we don't have to install all the dependencies in every pipeline. We could extend this to also create containers that have mingw pre-installed but for now we only create an image with the dependencies that are required for every job.
* CI: Add a manual CI job for Ubuntu 22.04 'jammy'Simon McVittie2022-04-211-0/+13
| | | | | | | This has a very recent version of glibc, and in particular is new enough to have close_range(). Signed-off-by: Simon McVittie <smcv@collabora.com>
* Add automatic detection of suite to CI scriptsRalf Habacker2022-04-041-3/+0
| | | | | | | | The detection is based on the variable VERSION_CODENAME from /etc/os-release, which is supported by systemd. For further details see https://www.freedesktop.org/software/systemd/man/os-release.html. Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* Add automatic detection of distribution to CI scriptsRalf Habacker2022-04-041-3/+0
| | | | | | | | The detection is based on the variable ID from /etc/os-release, which is supported by systemd. For further details see https://www.freedesktop.org/software/systemd/man/os-release.html. Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* CI: Don't wait for Windows Docker image before doing Unix buildsSimon McVittie2022-04-011-0/+2
| | | | | | | | The default in Gitlab-CI is that each job waits for all jobs in previous stages to complete, but we can override this default by explicitly saying that there are no prerequisites. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Switch active cmake related jobs to opensuse as defaultRalf Habacker2022-03-291-0/+2
| | | | Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* On CI add build support for openSUSE distributionsRalf Habacker2022-03-291-2/+33
| | | | | | | | | | The mingw related jobs are running the whole test suite which is an extension to the available jobs. The environment variable ci_suite is not used on openSUSE distributions, as it is determined from the installed image. Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* CI: Adjust job namesRalf Habacker2022-03-091-12/+12
| | | | | | | | | | Job names now provide more information about platform, build environment, system and configuration, which makes it easier to read. The names for the build environments has been shorted to commonly known names e.g. 'mingw64' for 'x86_64-w64-mingw32'. Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* Revert "Disable MSVC CI by default for now"Simon McVittie2022-02-281-2/+0
| | | | | | This reverts commit 254b17977e228a4ec419c98e95588d564d36ddb1. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Use current Debian stable release for mingw-w64 buildsSimon McVittie2022-02-271-8/+0
| | | | | | | | Now that we have resolved the failure to build with newer mingw-w64, we don't need to hold these back to Debian 10 'buster' and can upgrade to the current stable release, Debian 11 'bullseye'. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Build on Debian 11 'bullseye' instead of Debian 10 'buster'Simon McVittie2022-02-251-3/+18
| | | | | | | | | | | This is the current stable release for Debian, making Debian 10 a much less interesting target for backports. Add a manually-triggered job so we can still try buster occasionally. Continue to use buster for mingw-w64 builds until format string issues with bullseye toolchains can be sorted out. Signed-off-by: Simon McVittie <smcv@collabora.com>
* CI: Remove EOL versions of Debian and UbuntuSimon McVittie2022-02-251-15/+0
| | | | | | | | | | Debian 9 'stretch' is EOL, and Ubuntu 16.04 is EOL unless you enter into a special subscription with Canonical. This puts them outside our informal security-support policy, and realistically, anyone sufficiently change-averse to be following these distributions is not going to be backporting a current version of dbus. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Disable MSVC CI by default for nowSimon McVittie2022-02-251-0/+2
| | | | | | | | The necessary CI runner doesn't seem to be available, and we shouldn't let that prevent us from merging dbus changes. This can be reverted when the runner comes back. Signed-off-by: Simon McVittie <smcv@collabora.com>
* gitlab-ci: add cmake Windows builds with VS and mingw-ucrtMarc-André Lureau2022-01-211-0/+35
| | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>