Commit Graph

113 Commits

Author SHA1 Message Date
Florian Müllner
b3ce7be8f3 ci: Bump mutter image
Mutter bumped its libei requirement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2934>
2023-09-01 16:47:38 +02:00
Florian Müllner
cc8a5934d7 ci: Rebase js image to F39
F39 has been branched, so use it to pull in the latest gjs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2912>
2023-08-26 18:03:25 +00:00
Florian Müllner
8f8ee64b67 ci: Escape parentheses in dependencies
Newer versions of the freedesktop template no longer do the
escaping for us.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2912>
2023-08-26 18:03:25 +00:00
Florian Müllner
7823216524 ci: Bump mutter image
The mutter image has been rebased to F39, start using it here
as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2892>
2023-08-16 22:30:39 +00:00
Florian Müllner
d353f2d367 ci: Use sudo to run meson install
Meson stopped using polkit for automatic privilege elevation, and
will no longer attempt any priviledge elevation when not running
interactively.

Running the entire install command as root used to be problematic
in the past, as it could result in ownership changes of files in
the build directory that would result in build failures later,
but the aforementioned change leaves us with little choice.

Apparently `meson install` will spawn `ninja` with dropped
privileges when a rebuild is needed, so hopefully this will
no longer be an issue.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2892>
2023-08-16 22:30:39 +00:00
Florian Müllner
8af9edf14e ci: Remove eslint_mr job
There is no longer a difference between regular- and legacy config.
That means that all code now follows the regular configuration, and
we no longer need a separate check that enforces this for new code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>
2023-08-09 15:10:38 +00:00
Florian Müllner
7b139b00f3 Bump mutter image
Pull in tecla and pipewire fixes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2855>
2023-08-02 14:20:22 +02:00
Florian Müllner
8238533418 ci: Make meson warnings fatal
The Config variable that was removed in the previous commit was
actually wrong (PACKAGE_VERSION vs. GETTEXT_VERSION), so the
substituation didn't work.

Meson warns about this, let's make these warnings fatal to catch
similar issues during CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2844>
2023-07-23 15:36:20 +02:00
Florian Müllner
fc14fb8503 ci: Bump mutter image
Ever since the mutter image started to set up a non-root user for
running tests, the toolbox image built on top of it has been broken.

The issue has now been addressed, so update the image to pull in
the fix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2850>
2023-07-23 11:42:56 +00:00
Florian Müllner
3c9857abad ci: Bump mutter image
Eieiei, mutter now depends on libei.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2846>
2023-07-15 03:27:22 +02:00
Florian Müllner
3a086c43ae ci: Print eslint results to stdout as well
The eslint jobs report their results as artifacts in junit format,
so that gitlab can present them in its UI.

However many people miss that, and unsuccessfully check the logs
instead.

Account for that by also printing the results to stdout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2829>
2023-07-10 10:19:34 +00:00
Florian Müllner
1b974beec5 ci: Bump mutter image
Mutter stopped hardcoding a non-default user in the image, and
instead wraps its CI tests to run as user. Pull in that image
to hopefully get over some of the recent CI hickups.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2813>
2023-06-28 23:44:52 +02:00
Florian Müllner
761db49137 ci: Bump mutter image
The updated image contains a recent enough libadwaita version to
run the extensions app after commit 38243410.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2805>
2023-06-19 23:39:20 +00:00
Evan Welsh
39ed7f83fd ci: Migrate eslint-plugin-jsdoc rule and pin eslint versions
Pin eslint to v8 and eslint-plugin-jsdoc to v46, migrate the removed
jsdoc rule.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2792>
2023-06-07 18:20:50 +00:00
Florian Müllner
4335c1a92a ci: Bump mutter image
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2772>
2023-05-19 16:40:18 +02:00
Florian Müllner
a837285ae3 ci: Produce toolbox images
Toolbox is a convenient option for development, but setting up
the image with all dependencies is annoying at best, in particular
later in the cycle when `dnf builddep` is likely insufficient.

To address that, produce toolbox images for main and stable branches
that are based on the regular CI image, and update them whenever
the image version is updated. This guarantees that all build- and
runtime dependencies are included.

Unsurprisingly, the script that produces the image draws heavily
from freedesktop's ci-templates. The most notable difference
(other than being neither distro-agnostic nor generic) is that
tag names are fixed (toolbox:main, toolbox:43 etc.) to make them
easier to consume.

Instead, whether an image needs rebuilding is based on a custom
label that records the base image that was used.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
0a420404c6 ci: Update JS tooling
Provided we use the correct version of the SpiderMonkey shell, we
can perform checks using the same engine that is used by gjs.

However some engine features are opt-in, so the set of features enabled
by gjs and js102 may differ. The obvious option for avoiding this is
replacing js102 with gjs for tests.

For that reason the check-potfiles.js script has been ported to gjs
and a second (simpler) script to replace `js102 --compileonly` was
added. This work happened in a separate repository to make sharing
between different JS-based projects easier.

Update the CI image to pull in those scripts and include gjs.

This will also address the issue that `js102 --compileonly` does not
handle modules.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2193>
2023-04-21 18:28:32 +00:00
Florian Müllner
ddae41456d ci: Remove duplicated cleanup
The template will already call `dnf clean all` after processing
packages and the script, so no need for us to call it as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2193>
2023-04-21 18:28:32 +00:00
Florian Müllner
f54af2639d ci: Update JS image
The image hasn't been updated for over a year, and it's now based
on an unsupported distro version. Jump directly to F38 which has
just been released.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2695>
2023-04-21 12:45:18 +00:00
Florian Müllner
5a7ba105c4 ci: Drop version suffix from job name
We don't build images for multiple distro versions, so all it does
is making version bumps more finicky.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2695>
2023-04-21 12:45:18 +00:00
Florian Müllner
ea629cabbf ci: Make fringe meson-install arguments optional
Both the subdir and prepare arguments are very specific to
building the extensions-tool subproject stand-alone. In order
to make the script more generic, turn those required arguments
into optional --subdir and --prepare ones.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2712>
2023-04-20 15:59:56 +00:00
Carlos Garnacho
279585c555 ci: Update image
This is necessary to get the gnome-desktop4 and libnma-gtk4
dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2655>
2023-03-03 20:38:03 +00:00
Carlos Garnacho
95e1f760cb ci: Update base image
Mutter main updated its image for a glib dependency bump. Update
gnome-shell CI too.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2618>
2023-01-31 12:54:19 +01:00
Robert Mader
0c181b3b78 ci: Bump base image to F37
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2588>
2022-12-19 15:53:23 +01:00
Jonas Ådahl
bcc4d15fdf tests: Add test running basic perf test
This test runs all of GNOME Shell using the headless backend inside a
mocked D-Bus environment. The basic test tests, well, basic things, like
the panel menu, the overview, showing the app grid view, as well as
going back to the session view.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
2022-11-25 22:09:53 +01:00
Jonas Ådahl
4c10608451 ci: Bump ci image
The new one includes a newer python-dbusmock.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
2022-11-25 22:09:37 +01:00
Florian Müllner
6dc63d3a62 ci: Bump image
Mutter grew a dependency on colord, so bump the image to pull it in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2464>
2022-09-01 15:52:48 +00:00
Jonas Ådahl
0b45bc87c0 ci: Use F36 image from mutter
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2434>
2022-08-18 18:43:54 +02:00
Florian Müllner
9f8ab60100 ci: Bump mutter image
Mutter bumped its wayland-protocols dependency, so we need to
pull in an image that includes the new version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2396>
2022-08-02 15:56:38 +00:00
Florian Müllner
23bd0686e7 ci: Update mutter image
This pulls in an up-to-date gjs, which will allow us to bump the
version requirement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2371>
2022-08-01 13:00:10 +02:00
Florian Müllner
d512209c62 ci: Don't define image globally
This has been deprecated in favor of defining the default image
in the default section.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2371>
2022-08-01 13:00:10 +02:00
Florian Müllner
2c812550fa ci: Instruct gitlab to checkout submodules
By default, gitlab skips checking out of submodules. So far this
didn't matter to us, as meson will initialize submodules as part
of setup.

It no longer does for the dist command however, and as we run it
from a separate job where the submodule checkout isn't preserved,
the job breaks with recent meson versions.

Fix this by instructing gitlab to checkout the submodule for all
jobs that need it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2371>
2022-08-01 13:00:10 +02:00
Florian Müllner
30d008e3c3 ci: Bump mutter image
Mutter requires a more recent wayland-protocols version now,
update to the image that provides it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2381>
2022-07-15 18:58:05 +02:00
Florian Müllner
9375b485ea ci: Remove BUNDLES variable from nightly job
The template stopped using it 3 years ago.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2374>
2022-07-10 19:24:58 +02:00
Florian Müllner
c04fb61ec5 Revert "ci: Allow flatpak job to fail"
The issue with the nightly runtime has been resolved, so we
can again assume that any job failures are our fault and fail
the pipeline.

This reverts commit b6fe92aca8.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2362>
2022-07-06 19:23:03 +00:00
Florian Müllner
b6fe92aca8 ci: Allow flatpak job to fail
The nightly runtime was rebased on a newer freedesktop base, and
all hell broke loose. Unblock our CI by temporarily allowing the
flatpak job to fail.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2355>
2022-07-02 02:16:37 +02:00
Jonas Ådahl
5916a87103 ci: Bump mutter CI image
It's needed to make mutter build again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2132>
2022-03-04 22:05:45 +00:00
Florian Müllner
774f133ab9 build: Bump some dependency versions
Mutter and gnome-shell are released in lock-step, but I forgot to
bump the requirement accordingly.

Likewise the gsettings-desktop-schemas dependency is outdated, there
are a couple of keys we depend on that were added this cycle.

And while building should still be possible with the old gjs version,
we do require a newer version at runtime, so reflect that as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2183>
2022-02-22 13:55:59 +00:00
Florian Müllner
3973c84e97 ci: Stop prohibiting template strings in files with translations
It has been nearly two years since the last regression reported in
https://savannah.gnu.org/bugs/?func=detailitem&item_id=50920 has been
fixed, and no further regressions were reported in the meantime.

It looks therefore safe enough to not restrict ourselves, and start
allowing templates for all non-translatable strings again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2160>
2022-02-12 12:29:52 +00:00
Florian Müllner
b001f18440 ci: Update js image
- switch to F35 base
 - update eslint
 - update mozjs to 91
 - install current gnome-extensions tool instead of ancient tag

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2115>
2022-01-25 15:21:16 +00:00
Florian Müllner
a0c8462170 ci: Bump mutter image
Needed for the new mozjs91-based gjs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2115>
2022-01-25 15:21:16 +00:00
Florian Müllner
a48fd70e38 ci: Bump mutter image
Mutter itself now depends on a more recent wayland-protocols, so
update to the correct image version to fix the CI build.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2086>
2022-01-05 19:02:12 +01:00
Florian Müllner
ab52ce4591 dateMenu: Port to GWeather 4.0
Besides dropping its GTK dependency (which doesn't affect us),
GWeather 4.0 replaces its own timezone type with GTimeZone.

It's easy enough to adjust to that, so port over to the new
version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2083>
2022-01-05 04:07:25 +01:00
Jonas Ådahl
7d859fb859 ci: Bump mutter image
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2059>
2021-12-04 17:12:32 +01:00
Carlos Garnacho
4e5ddc5459 ci: Install mutter again on coverity job
This job "needs" the build job and thus gets its artifacts, but
it will not inherit the environment where we already installed
Mutter in /usr. This apparently broke once there was a more
recent mutter-clutter .pc file to look up.

Install Mutter in /usr again in this job, so the new build for
coverity finds all dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1979>
2021-10-08 16:17:04 +00:00
Florian Müllner
e9d6468609 ci: Add dist job
So far, releases are done locally by invoking `meson dist`.

We can do better and leverage the existing CI infrastructure, to get
to the following release workflow:

 - bump version in meson.build, update NEWS etc.
 - open merge request for the release
 - merge when the pipeline (including dist check) succeeds
 - tag the release
 - wait for the tag pipeline to spit out the tarball artifact

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1968>
2021-09-05 01:28:46 +02:00
Florian Müllner
d8b88c24d9 ci: Reindent yaml configuration
Most GNOME projects have settled on a 2-space indentation, so switch
to that. This will ease the ongoing copy+paste between projects :-)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1968>
2021-09-04 23:46:46 +02:00
Evan Welsh
0d8e0025d6 init: Set console log domain
GJS added a console module that extensions may start using. To ensure that
extensions using console.log() and similar functions don't show up as
'Gjs-Console' in users' system logs, we should call setConsoleLogdomain()
with 'GNOME Shell'.

This GJS API addition is only accessible using ECMAScript Modules (ESM),
this commit moves shell startup to a small init.js module and adapts
CI jobs to either handle or ignore it.

We can drop the .jscheckignore file when future versions of SpiderMonkey
allow for compile checks without validating module specifiers.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1958>
2021-09-01 14:55:47 +00:00
Florian Müllner
ef70364e81 cleanup: Replace non-standard ByteArray module
gjs landed support for TextDecoder/TextEncoder. Use those instead
of gjs' own ByteArray module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1946>
2021-09-01 14:49:30 +00:00
Florian Müllner
4bbbee4dd6 ci: Expose meson's Junit test results to gitlab
Turns out meson has been generated Junit XML files of its test
results since 0.55 ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1937>
2021-08-24 08:18:26 +00:00