summaryrefslogtreecommitdiff
path: root/.gitlab-ci
Commit message (Collapse)AuthorAgeFilesLines
* ci: Only fetch history for branch tipsFlorian Müllner2020-12-111-4/+10
| | | | | | | We don't need any history, so we can save a bit of bandwidth by omitting it, and only fetch the refs we are actually interested in. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1630>
* ci: Fix checking out gnome-shell for tag pipelinesFlorian Müllner2020-12-111-3/+10
| | | | | | | | | | | $CI_COMMIT_REF_NAME can be a branch name or a tag, depending on the pipeline, but our checkout script only deals with the former at the moment. Address this by rather than looking for a remote branch name, just try to fetch the ref like we do for merge request pipelines. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1630>
* ci: Improve checkout script outputFlorian Müllner2020-12-111-7/+16
| | | | | | | | | | | We are currently not very good at communicating what's going in, in particular for non-merge request pipelines where the output is usually just "Using origin/master instead" (instead of what?). Improve this by consistently communicate what we are looking for, whether we found it, and what we end up doing. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1630>
* ci: Fix echo stderr redirectionwip/nielsdg/fix-check-commit-msg-stderrNiels De Graef2020-12-041-1/+1
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1622>
* ci: Include gdm in imageFlorian Müllner2020-11-201-0/+32
| | | | | | | | | | | gnome-shell depends on gdm's client library at runtime, but the new pipeline-built image no longer provides it. Add it back, but built it from source instead of using the Fedora package, so we don't draw in all of gdm's runtime dependencies (which includes a full GNOME session including gnome-shell). Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1590>
* ci/check-commit-log: Fix test failure count valueJonas Ådahl2020-11-201-1/+1
| | | | | | It grepped for an older version of the failure XML tag. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1585>
* ci: Use ci-templatesJonas Ådahl2020-11-191-28/+0
| | | | | | | | | | This changes from manual container image building using podman locally to building the container images as part of the CI pipeline. It uses the CI templates from https://gitlab.freedesktop.org/freedesktop/ci-templates. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1525>
* ci: Wait for review stage before continuingJonas Ådahl2020-11-161-2/+2
| | | | | | | | | | | | | | | | | If review fails, it'll fail very early in the pipeline, but we won't see the test case failure until the whole pipeline succeeds, which might be 10 minutes later. To avoid sitting there wondering why it failed, let the time consuming jobs wait until the review stage, which tends to take less than 20 seconds, succeeds. This way the review test result will be presented earlier. This changes the pipeline to run the check-commit-log job also for non-merge requests, with the difference being that it will pass immediately if it's not a merge request. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
* ci/check-commit-log: Generate JUnit reportJonas Ådahl2020-11-161-21/+67
| | | | | | | This will make it less horrible when commit message doesn't pass the compliance checks. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
* ci/check-commit-log: Check capitalizationJonas Ådahl2020-11-161-0/+5
| | | | | | | To avoid commit messages such as 'window: don't capitalize title', and instead enforce 'window: Capitalize title'. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
* ci/check-commit-log: Inverse merge request URL checkJonas Ådahl2020-11-161-4/+4
| | | | | | | | It's from now on the responsibility of marge-bot to append merge request urls to commit messages, so they should not be part of the commit message itself. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
* ci/check-commit-log: Ensure valid cogl and clutter prefixesJonas Ådahl2020-11-161-0/+10
| | | | | | | | | Clutter is a "scope", so everything under should be its own "sub-prefix", e.g. changes to ClutterActor should be prefixed 'clutter/actor', ClutterFrameClock with 'clutter/frame-clock', CoglFramebuffer with 'cogl/framebuffer' etc. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
* ci: Run tests with 10 Hz dummy monitorsJonas Ådahl2020-11-091-0/+2
| | | | | | | This decreases flakyness of some tests when runners are under heavy load. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1555
* ci: Generate a cover report for the test suiteNiels De Graef2020-10-152-0/+131
| | | | | | | | | Based on @ebassi's work from https://gitlab.gnome.org/GNOME/glib/merge_requests/769 This MR allows us to see the succeeded/failed tests each time the CI pipeline is run. https://gitlab.gnome.org/GNOME/mutter/merge_requests/528
* ci: Add gnome-shell runtime dependenciesFlorian Müllner2020-08-071-0/+1
| | | | | | | | In order to run gnome-shell as part of the CI pipeline, we need an additional runtime dependency plus python3 modules to mock required system services and run gnome-shell-perf-tool. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1401
* ci: Enable coverage reports in test buildMarco Trevisan (Treviño)2020-05-071-1/+1
| | | | | | | | | | | | | | | While we don't have an high number of tests, we still have some code coverage and so we can track this via gitlab CI, given that it supports it natively. So add gcovr to the DockerFile dependency, build with -Db_coverage=true meson native parameter, and add another manual job to make ninja to generate the coverage reports on requests or in any master or tag ref. Keep the artifacts around to be able to browse the generated HTML files and eventually print the text reports so that they can be parsed by gitlab. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1236
* ci: Rebase docker image to F32Florian Müllner2020-04-071-13/+8
| | | | | | | | | | | | | We have branched now, time for a shiny new CI image. Update the Dockerfile to: - switch to F32 - use a single shared copr - drop dependencies that are now covered by builddep - do not include weak deps https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1176
* ci: Adjust URL checkFlorian Müllner2020-02-261-1/+1
| | | | | | | | | | While the old merge request URLs still work, gitlab recently started including an additional /- for merge requests. Adjust the regex to account for that, so that simply copying the URL from gitlab works again. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1090
* screen-cast: Update to PipeWire 0.3 APIWim Taymans2020-02-201-0/+3
| | | | | | | | | | Update to 0.3 API [jadahl: update Dockerfile to include new enough pipewire] Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/1051 https://gitlab.gnome.org/GNOME/mutter/merge_requests/1062
* ci: Change instructions to use podmanBenjamin Berg2019-12-111-2/+2
| | | | | | | | Podman can also be used to create the image. The only thing to keep in mind with podman is to add --format docker, so that the image will be compatible with all CI runners. https://gitlab.gnome.org/GNOME/mutter/merge_requests/966
* ci: Fix checkout out gnome-shell on stable branchesFlorian Müllner2019-11-071-3/+1
| | | | | | | | | | | For stable branches, we currently only check out the correct shell branch for merge requests. For the regular pipeline, our code to determine the current mutter branch fails because CI runs on a temporary "pipeline/12345" branch that doesn't exist for gnome-shell. Switching to the correct gitlab environment variable fixes that. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/811
* ci: Add gnome-control-centerFlorian Müllner2019-10-291-1/+1
| | | | | | | | | | | Since 3.34, the gnome-shell package was cleaned up to only depend on gnome-control-center-filesystem at build-time. However one of the gnome-shell tests needs the gettext ITS file for keybindings provided by the main gnome-control-center package (in fact, the COPR package is stripped down to just that file), so install that explicitly. https://gitlab.gnome.org/GNOME/mutter/merge_requests/901
* ci: Update docker image to v3Florian Müllner2019-10-291-16/+5
| | | | | | | | It's this time of the cycle again: Rebase the docker image to the upcoming Fedora release, so we can drop a fair bit of the custom dependencies that have piled up. https://gitlab.gnome.org/GNOME/mutter/merge_requests/894
* ci: Print all the commits that need bug referencesBastien Nocera2019-10-231-1/+4
| | | | | | | | Rather than just the latest one, otherwise it might leave the patch submitter to iterate over every commit, if they didn't know every patch needed a reference. Closes: #1809
* ci: Phrase error in a way that gives a hint on how to fix problemBastien Nocera2019-10-231-1/+1
| | | | | | | | The passive phrasing makes it sound like there's something inherently broken with the commit, rather than simply being missing an annotation that the author can add. Closes: #1809
* Add Graphene dependencyGeorges Basile Stavracas Neto2019-10-161-1/+1
| | | | | | | | | | | | | Graphene is a small library with data types and APIs specially crafted to computer graphics. It contains performant implementations of matrices, vectors, points and rotation tools. It is performance because, among other reasons, it uses vectorized processor commands to compute various operations. Add Graphene dependency to Mutter. https://gitlab.gnome.org/GNOME/mutter/merge_requests/458
* ci: Add gnome-autoar to DockerfileFlorian Müllner2019-08-211-0/+2
| | | | | | It is a dependency of the newly added gnome-extensions tool. https://gitlab.gnome.org/GNOME/mutter/merge_requests/738
* ci/Dockerfile: Pass --no-cache in build exampleJonas Ådahl2019-08-151-1/+1
| | | | | | Using the cache means we don't get updates from Fedora or copr. https://gitlab.gnome.org/GNOME/mutter/merge_requests/726
* ci/Dockerfile: Upgrade after adding copr reposJonas Ådahl2019-08-151-0/+1
| | | | | | So that we make sure to upgrade to the packages in the copr repos. https://gitlab.gnome.org/GNOME/mutter/merge_requests/726
* ci/Dockerfile: Add mesa crash fixJonas Ådahl2019-06-261-0/+4
| | | | | | | | This applies 'egl/x11: calloc dri2_surf so it's properly zeroed' to mesa-19.0.7, as it fixes a crash introduced by 'egl/dri: flesh out and use dri2_create_drawable()' included in 19.0.6. https://gitlab.gnome.org/GNOME/mutter/merge_requests/648
* ci/Dockerfile: Add commands for regeneratingJonas Ådahl2019-06-261-0/+7
| | | | | | | | Instead of either figuring out themself, or looking at the commit that added the file, just make life easier by providing the commands for rebuilding and pushing as a comment in the Dockerfile itself. https://gitlab.gnome.org/GNOME/mutter/merge_requests/648
* ci: Drop old gsettings-desktop-schemas package versionsFlorian Müllner2019-06-251-2/+0
| | | | | | | Since we switched to F30, the base system provides newer versions than the ones specified (although since 3.33.3 not new enough). https://gitlab.gnome.org/GNOME/mutter/merge_requests/648
* ci: Install sysprof dependency from coprFlorian Müllner2019-06-241-1/+2
| | | | | | | | The currently used package links are outdated. Instead of updating them to the current release number, rely on copr repos having a higher priority than system repos and simply specify the package name. https://gitlab.gnome.org/GNOME/mutter/merge_requests/644
* ci: Add sysprof3 to the Docker imageGeorges Basile Stavracas Neto2019-05-311-0/+1
| | | | | | | It is now a dependency that we want to build against, even if optional. https://gitlab.gnome.org/GNOME/mutter/merge_requests/197
* ci: Update Dockerfile to :v2Florian Müllner2019-05-201-1/+1
| | | | | | | | | | | | | This commit is a bit deceitful: The main change in the image is *not* the more recent Fedora base, but an updated (and not backward-compatible) evolution-data-server package from the fmuellner/gnome-shell-ci copr. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/501 ports gnome-shell to the new API, so to keep mutter and gnome-shell CI working after that change, we need to build against the correct EDS version. https://gitlab.gnome.org/GNOME/mutter/merge_requests/582
* ci: Update gsettings-desktop-schema URLsGeorges Basile Stavracas Neto2019-05-031-1/+1
| | | | | | Copr keeps changing them. https://gitlab.gnome.org/GNOME/mutter/merge_requests/548
* ci: Add GNOME Shell dependencies to DockerfileGeorges Basile Stavracas Neto2019-05-031-1/+10
| | | | | | | Embrace, extend and (soon) extinguish GNOME Shell's CI image. https://gitlab.gnome.org/GNOME/mutter/merge_requests/548
* ci: Build GNOME Shell at the test stageGeorges Basile Stavracas Neto2019-05-031-0/+35
| | | | | | | Hopefully this will allow us prevent merging branches that accidentally break GNOME Shell. https://gitlab.gnome.org/GNOME/mutter/merge_requests/548
* ci: Blacklist .c and .h in the commit message subject prefixJonas Ådahl2019-04-021-0/+5
| | | | | | `boxes.c: Do that` should be just `boxes: Do that`. https://gitlab.gnome.org/GNOME/mutter/merge_requests/519
* ci: Nag about invalid commit message subject prefixesJonas Ådahl2019-04-021-1/+22
| | | | | | | | | | | | Prefixes use an abbreviated form of the module or section being changed. For example, changes to MetaBackend/meta-backend.c are prefixed with `backend:` and generic changes to src/x11/ are prefixed `x11:`. This extra nit picking check is meant to avoid using non-abbreviated prefixes, e.g. `MetaBackend:`, or `meta-backend:`, other prefixes are Currently consisting of only a "blacklist". https://gitlab.gnome.org/GNOME/mutter/merge_requests/519
* gitlab-ci.yml: Add check for issue or MR URLJonas Ådahl2019-02-141-0/+31
| | | | | | | | | | | This adds a pipeline stage for merge requests that checks that the commit message contains an URL to either a issue or a merge request. This means that for merge requests without corresponding issues will always fail initially, as the merge request URL is not known until after it is created. This is still arguably better than accidentally merging merge requests without URLs. https://gitlab.gnome.org/GNOME/mutter/merge_requests/440
* cogl/path: Don't depend on GL/glu.hJonas Ådahl2019-01-221-1/+1
| | | | | | | It's not needed for anything, and we can get rid of the dependency we just added. Also remove the installation step from Dockerfile.
* cogl-path: Remove own glu.h versionJonas Ådahl2019-01-221-1/+1
| | | | | | | | | | cogl-path uses types from glu.h, but to avoid a build dependency on glu, it kept a minified copy of glu.h in tree. Drop this file and just use the actual glu.h. To avoid linking to libGLU.so, just use the includepath, instead of actually adding glu as a real dependency. This means we can remove an includepath meant to make it possible to include <GL/glu.h>.
* Dockerfile: Update gsettings-desktop-schemas copr URLJonas Ådahl2019-01-221-1/+1
| | | | The old rpms had been cleaned out.
* Dockerfile: Remove manual pipewire-0.2.5 upgradeJonas Ådahl2019-01-221-3/+0
| | | | It's already in F29 stable.
* screen-cast: Add 'cursor-mode' to allow decoupled cursor updatesJonas Ådahl2019-01-161-0/+3
| | | | | | | | | | | | | | The 'cursor-mode', which currently is limited to RecordMonitor(), allows the user to either do screen casts where the cursor is hidden, embedded in the framebuffer, or sent as PipeWire stream metadata. The latter allows the user to get cursor updates sent, including the cursor sprite, without requiring a stage paint each frame. Currently this is done by using the cursor sprite texture, and either reading directly from, or drawing to an offscreen framebuffer which is read from instead, in case the texture is scaled. https://gitlab.gnome.org/GNOME/mutter/merge_requests/357
* Dockerfile: Install gsettings-desktop-schemas rpm built from gitJonas Ådahl2018-12-111-0/+3
| | | | | We depend on a newer version than packaged, so install a custom one from https://copr.fedorainfracloud.org/coprs/jadahl/mutter-ci/build/836095/
* gitlab-ci: Add test stageJonas Ådahl2018-11-141-0/+3
| | | | | | | | | | | | The test stage runs the whole meson test suite inside Xvfb inside a dbus session. Running inside Xvfb is required as the cogl, clutter and mutter tests require to run on top of X11; the dbus session is required to make mutter succeed in owning names on the bus. This also updates the Dockerfile to include packages needed for running tests. https://gitlab.gnome.org/GNOME/mutter/issues/193
* Dockerfile: Align comment with commandJonas Ådahl2018-11-141-1/+1
|
* Add .gitlab-ci.yml for build testingJonas Ådahl2018-11-071-0/+11
This adds compilation testing using meson on the gitlab instance. It uses a prebuild image built, described in .gitlab-ci/Dockerfile, based on Fedora 29. The image is build and published by running: cd .gitlab-ci/ docker build -t registry.gitlab.gnome.org/gnome/mutter/master:v1 . docker push registry.gitlab.gnome.org/gnome/mutter/master:v1 Resolves: https://gitlab.gnome.org/GNOME/mutter/merge_requests/132