Commit Graph

97 Commits

Author SHA1 Message Date
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
Florian Müllner
0cd882697a ci: Use backend-agnostic meson commands
There's no alternative backend in sight for us, but it's nice to
only deal with a single build tool.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1937>
2021-08-24 08:18:26 +00:00
Florian Müllner
a802bfda39 ci: Include eslint-plugin-jsdoc in js image
gjs started to require it in its config, so we need it
if we want to keep our configuration in sync.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1949>
2021-08-24 08:13:19 +00:00
Florian Müllner
b9f38f95e3 ci: Split POTFILES check between C and JS
Regex are a crude tool for analyzing whether some code *calls* a
particular function. Spidermonkey has Reflect.parse() that returns
the AST of the passed in code, which allows for a much more precise
check for javascript.

The old script is still used for C code, where i18n-affecting changes
are much rarer.

Based heavily on Philip Chimento's mozjs migration script at
https://gitlab.gnome.org/ptomato/moz60tool.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1941>
2021-08-14 18:45:25 +00:00
Florian Müllner
508442cef2 ci: Update mutter image
Mutter now requires a development version of glib, so bump the
image to satisfy the dependency.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1947>
2021-08-12 21:01:01 +02:00
Florian Müllner
8edd6aef64 ci: Update mutter image
It pulls in a new gsettings-desktop-schemas version for
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/687.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1931>
2021-07-29 20:10:58 +02:00
Florian Müllner
da11d8d7ef ci: Move FDO_UPSTREAM_REPO to global scope
ci-fairy also uses the variable to set the upstream remote that is used
to build the commit range to check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>
2021-07-19 14:15:22 +00:00
Florian Müllner
bc3ae223f1 ci: Bump ci-templates image
Before building a container image, the code checks that the
repository's container registry is enabled. That check was
broken a while ago, update the image to pull in the fix.

See https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/39

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>
2021-07-19 14:15:22 +00:00
Florian Müllner
df76c3fd11 Update links to use HEAD instead of master
That way the link will keep working when projects change their
default branch name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>
2021-07-18 21:45:46 +00:00
Carlos Garnacho
6203668b6c ci: Add job for pushing coverity reports
This job does:
1. Download the coverity bundle and untar it in a cached location
2. Build GNOME Shell using clang and the coverity tool
3. Compress the coverity report
4. Upload for analysis

In a similar setup to that of Mutter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>
2021-07-16 21:49:19 +00:00
Carlos Garnacho
37a6434a4d ci: Funnel package list to be built correctly
It was on one hand using multi-line piping (`|`) and trying to
compensate with \ to escape multiple lines, this lead to:

  No match for argument: \

Also, the quoting around pkgconfig() arguments would lead to
double quoting at the shell level, thus:

  No match for argument: 'pkgconfig(gio-2.0)'

Fix both by using multi-line-turns-single-line piping (`>`)
and dropping the unnecessary quotes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>
2021-07-16 21:49:19 +00:00
Jonas Ådahl
5acab6c300 Port to MetaContext
This ports over gnome-shell and the theme test case to MetaContext,
instead of the various functions that were available before.

The test case is changed to use the special test context, used to
construct contexts for testing. It's part of a shared libary separate
from the main libmutter one.

This enables building mutter tests during CI, as the test framework is
needed by some of gnome-shell's tests.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>
2021-07-15 12:42:17 +00:00
Jonas Ådahl
38d9b35ec8 ci: Bump to F34
This bumps both the mutter image to the F34 one, as well as the one used
for review.

This also bumps ci-templates hashes, so that we can use
FDO_DISTRIBUTION_PACKAGES without installing weak dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1906>
2021-07-07 17:10:17 +02:00
Florian Müllner
ff163a03b9 ci: Update ci-fairy image
Previously the information which commit failed a commit message check
was hidden in parts of the report that don't show up in gitlab's UI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1740>
2021-03-03 20:29:22 +01:00
Florian Müllner
d6a1414a94 extensions-app: Use development profile for nightly build
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3612

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1661>
2021-02-11 17:47:27 +01:00
Florian Müllner
39d5d6ad13 ci: Bump mutter image
Needed for mutter's bumped pipewire dependency.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1650>
2021-02-08 15:21:17 +01:00
Jonas Ådahl
463000d04d Change all g_memdup() to g_memdup2()
Using g_memdup() is dangerous due to the type of the size argument. See
https://gitlab.gnome.org/GNOME/glib/-/issues/2319 and
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1926 for details.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1637>
2021-02-04 20:17:04 +01:00