Commit Graph

20 Commits

Author SHA1 Message Date
Jehan 90591dc7ed gitlab-ci: new build organization.
Rather than having the whole Win32 cross-build into the 'gimp' stage,
break the dependencies and GIMP-only builds in 2 stages.

Since apparently we need to keep the same structure for the native and
cross build (otherwise we don't get parallel builds; in other words, I
didn't find the possibility to set separate pipelines up), I move babl
and GEGL into the same 'dependencies' stage.

Finally I remove the -base rules extended into actual jobs, except for
`.gimp-base` (this is the only which makes sense as it is actually
common to the meson and autotools build).
2019-10-03 20:43:20 +00:00
Jehan aa611bea84 gitlab-ci: set GIT_DEPTH to 1.
We don't need to pull 5 commits of history. Only the HEAD of the
selected branch is needed.
Also define it globally rather than re-defining it in every job to the
same value.
2019-10-03 20:43:20 +00:00
Jehan 5c7f1ce571 gitlab-ci: improve artifacts settings.
First replace the "when: on_failure" rule by a "when: always". We indeed
always want to get log artifact so that we can study a build if
necessary (neither only on failure nor on success; really on all cases,
since even an apparently successful build may have issues we might want
to diagnose).

Also expire all artifacts at 1 week (it seems the default on GNOME's
Gitlab is 4 weeks; we don't need to keep these so long. Even a few days
might be enough actually).

As for the artifacts contents, keep the build dirs rather than the
install dirs. Build dirs allow to check configuration logs and other
kind of logs which are the most useful when diagnosing a failed build.
Now install dirs are also interesting. Maybe we should provide them
again at some point. We'll see. For now I comment them out.
Still keep the install dir for dependencies though, since it seems this
is how data are passed from one job to another.
Note that ideally we would like to provide different artifacts depending
on failure or success but apparently this is currently not possible.
See: https://gitlab.com/gitlab-org/gitlab/issues/18744

Also not sure why for GIMP, the CI was only keeping the build app/tests/
directory. We should really keep the whole dir.
2019-10-03 20:43:20 +00:00
Jehan d27b7a27e0 gitlab-ci: do not export SHELL env variable before crossroad.
This will simply default to bash.
2019-10-03 20:43:20 +00:00
Jehan 2963933695 gitlab-ci: fix crossroad and dnf caching.
This should hopefully speed up successive builds as most packages don't
need to be re-downloaded.
2019-10-03 20:43:20 +00:00
Jehan 203509fe46 gitlab-ci: run gdk-pixbuf-query-loaders.
It was not necessary when I was only running the cross-build job. Not
sure why it is needed now. What do the parallel jobs share exactly in
this CI system? Anyway…
2019-09-30 23:05:01 +02:00
Jehan e17efb7a07 build, gitlab-ci: add a script to cross-build GIMP with Gitlab CI.
It looks like Arch does not have mingw64 cross-compilers in core package
repository. It does have some package in the user repository (AUR), but
I assume that such a repository cannot be deemed as safe.

Anyway I still tried, but apparently these AUR packages have to be built
and when I tried, I got this error:
>  ERROR: Running makepkg as root is not allowed as it can cause
> permanent, catastrophic damage to your system.

Anyway it's all a big mess. Then I tried to move the cross-CI to Debian
testing, which is anyway our base compatibility system. Unfortunately I
encountered like what looked like some glibc++ macro problem on some
packages (most likely because the pre-built packages I use are Fedora
ones which likely uses a cross-compiler differently built from the
Debian one).

So in the end, for simplicity, I use a Fedora image, then I am sure to
get a good match between the system cross-compiler and the pre-built
dependencies.
2019-09-30 23:05:01 +02:00
Jehan 035802c5a6 gitlab-ci: our CI base system (Arch) fixed their libmypaint package.
See: https://bugs.archlinux.org/task/62468
2019-09-11 17:23:40 +02:00
Félix Piédallu 1f20b72a45 Fix gitlab-ci : Archlinux fixed the bug upstream. 2019-09-11 17:11:38 +02:00
Félix Piédallu a97bad1cbe Update gitlab-ci 2019-09-11 16:42:04 +02:00
Jehan b194ce1e07 Issue #3840: Arch added a mypaint-brushes1 package.
This is the base system for our CI, and the former mypaint-brushes
package got bumped to v2, which broke the build. Instead of rolling
back, they added a mypaint-brushes1 package. Let's rely on it instead of
installing it ourselves now.
2019-08-24 19:20:56 +00:00
Jehan 3b5bc9f0b7 gitlab-ci: don't use mypaint-brushes from Archlinux.
If I get it correctly, archlinux bumped the mypaint-brushes package to
v2, which broke our CI. The v1 and v2 brushes are not the same, and they
are not even compatible (GIMP only supports v1 brushes so far). These
should be different packages, hence the incremented major versionning.
For the archlinux change, see also:
https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/mypaint-brushes&id=dfd032b3aab40a46c751bd47713fb82bf11bd984

Let's just install the brushes ourselves from the correct branch.

With this kind of changes, as well as the weird patches they do when
they rename the pkg-config file of libmypaint, I think we should
consider not rely on this distribution for our CI.
2019-08-22 17:22:38 +02:00
Félix Piédallu 699b3c5c02 refactoring of the gitlab-ci.yml 2019-08-21 14:18:49 +02:00
Michael Schumacher d6b33f9951 build: .gitlab-ci.yml: GEGL is switching to meson exclusively 2019-08-16 19:30:57 +00:00
Jehan 4900dde0dc gitlab-ci: build with --with-lua=force.
Same as with JS and Python, Lua dependencies are not a build blocker.
It's mostly a packager warning.
2019-08-16 20:33:09 +02:00
Jehan ba5a583a5d gitlab-ci: configure with --with-javascript=force.
We don't actually need the GJS dependency at build-time. This is really
more of a packager warning.
2019-08-09 19:01:34 +02:00
Jehan 96a33277d4 gitlab-ci: configure GIMP with --with-python=force.
We don't actually need any of the Python dependencies at runtime. We
only check for these to make packagers aware of the runtime need. Force
the build to go forward even with these deps.
2019-08-09 17:08:53 +02:00
Øyvind Kolås baf3bfee49 gitlab-ci: add gobject-introspection dep for babl and gegl 2019-08-08 14:15:36 +02:00
Michael Schumacher a001ce29a5 build: .gitlab-ci.yml: change babl build to meson 2019-07-30 19:08:16 +02:00
Michael Schumacher 732852a471 build: adding a .gitlab-ci.yml file for automated GitLab pipeline builds 2019-07-29 01:11:44 +02:00