Commit graph

498 commits

Author SHA1 Message Date
Bruno Lopes
c88dad5036 gitlab-ci, build/linux: Bump flatpak distribution to GNOME/CITemplates@b8e6f8f5
There is no explanation about why we are now not generating static deltas, but
let's trust GNOME guys expertise.
2026-04-08 10:14:17 -03:00
Bruno Lopes
397e97dcf9 gitlab-ci, build/linux: Set commit of flatpak_ci_initiative.yml on dist script
Let's avoid surprises on the .sh too.
2026-04-08 10:14:17 -03:00
Bruno Lopes
449889295f gitlab-ci: Add cppcheck to issue-bot needs: 2026-04-06 20:19:53 -03:00
Bruno Lopes
8c0fc54b80 gitlab-ci: Only add issue-bot to 'test_pipeline' pipelines
It is really useful on pipelines used only for testing:
- GIMP_CI_MESON_CLANG
- GIMP_CI_MESON_MSVC
- GIMP_CI_MESON_APPLECLANG
- GIMP_CI_RASTER_ICONS
- GIMP_CI_CPPCHECK

This fixes issue-bot wrongly in the middle of nightly packages,
which was not my intention, since these pipelines are flaky
and all are run with CI_COMMIT_TAG before the releases (with
exception of the flatpak, which is checked by the packager when
syncing the manifest, so issue-bot is also useless there)
2026-04-06 20:15:44 -03:00
Bruno Lopes
088b1f2426 gitlab-ci: Fix typo 2026-04-04 17:08:03 -03:00
Bruno Lopes
13e5fb2231 gitlab-ci: Small organization of build-time and runtime deps 2026-04-04 17:02:07 -03:00
Bruno Lopes
40ccc60d14 gitlab-ci: Make vcpkg specific variables more neutral
Now, with x64-windows-release, we don't have the debug binaries, so
we can search recursively for executables on tools/ to add on PATH.
2026-04-03 11:09:54 -03:00
Bruno Lopes
e1abd061a9 gitlab-ci, build/windows: Use VCPKG_DEFAULT_HOST_TRIPLET
We were using VCPKG_DEFAULT_TRIPLET, which makes impossible to
use x64-windows-release triplet since vcpkg starts to crosscompile
(even on the same arch). Let's fix this by using the right env var.
2026-04-03 08:33:23 -03:00
Bruno Lopes
2832b15f0a gitlab-ci: Ensure recent meson on MSVC builds 2026-04-01 21:40:41 -03:00
Bruno Lopes
d63687aefd gitlab-ci: Fix typo on issue-bot needs: 2026-04-01 18:50:03 -03:00
Bruno Lopes
e7bca20795 gitlab-ci: Run issue-bot when scheduled Clang build check fails 2026-04-01 18:35:34 -03:00
Bruno Lopes
2e7ab376bf gitlab-ci: Fix MSYS_ROOT leaking to MSVC builds 2026-04-01 09:25:48 -03:00
Bruno Lopes
d5d0527955 gitlab-ci: Make branches-check interruptible 2026-03-31 16:30:56 -03:00
Bruno Lopes
f8a5b2ebb9 gitlab-ci: Do not pull MacPorts cache on Homebrew builds 2026-03-28 22:16:16 -03:00
Bruno Lopes
477c751562 gitlab-ci: Fail on warnings on GNU Clang builds for gimp sake
Closes: #8033
2026-03-28 19:51:25 -03:00
Bruno Lopes
807e21c6ab gitlab-ci: Try to fix needs: chain of Homebrew pipeline
Following ab0b0413

Another fix after the x64 builds (which we don't use with Homebrew)
2026-03-27 19:27:37 -03:00
Bruno Lopes
b3c40c7be1 build/linux: Enable "Send by email" on AppImage
Hmmm why this was not already enabled? On my tests, it works.
Don't remember why I have not handled this before.

This commit also reorder the xdg-mail position on macOS script.
2026-03-27 18:59:50 -03:00
Jehan
80d11e2104 gitlab-ci: make so the CI works both with HEAD of babl and last release.
While we want to try with the last tagged release (babl 0.1.124), we
still need the CI to work with the latest code. So let's add one more
temporary fix.
2026-03-25 17:01:14 +01:00
Bruno Lopes
9ac87044ad gitlab-ci: Bump some timeouts to 240min for consistency 2026-03-24 20:48:06 -03:00
Bruno Lopes
d5e51bd464 gitlab-ci: Bump some timeouts to 40min
This is specially needed for the Snap builds.
2026-03-24 20:46:25 -03:00
Bruno Lopes
4a0d99872a gitlab-ci: Change deps artifacts expire_in to 4 hours
This is specially needed for the macOS builds.
2026-03-24 20:23:47 -03:00
Jehan
8d9a05b8bf gitlab-ci, build: temporarily revert the -Drelocatable-bundle option…
… rename for babl.

As we are doing test build for the release, we are in this in-between
situation where GEGL has the newly named option, but not babl (because
we don't have a new babl release).
I don't know if we'll have a babl release by the time we'll get GIMP
3.2.2 out, but for now, let's use the old option name.

This commit will have to be reverted later, after we release.
2026-03-24 22:11:43 +01:00
Bruno Lopes
ab0b041321 gitlab-ci: Fix typo on Homebrew rule 2026-03-23 18:05:25 -03:00
Bruno Lopes
8c3a9dd4a8 gitlab-ci, build: Add x64 macOS builds with Rosetta emulation
See: https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/2166
2026-03-21 21:46:35 -03:00
Bruno Lopes
16fc8d6306 gitlab-ci, build: Add comments about Meson weak .pc relocatability support
This limitation was already documented on Windows but
not on other platforms affected yet. Let's just paste it.
2026-03-21 20:50:29 -03:00
Bruno Lopes
db36fa3371 gitlab-ci: Remove a remnant of the legacy 32-bit job
This completes 0a8e21c4
2026-03-18 20:27:20 -03:00
Jehan
9a7ec09dab gitlab-ci, build: -Drelocatable renamed as -Drelocatable-bundle and…
… changed into a combo in babl and GEGL.
2026-03-17 20:51:25 +01:00
Bruno Lopes
0a8e21c4b1 gitlab-ci: Remove 32-bit special pipeline 2026-03-17 09:56:20 -03:00
Bruno Lopes
4c83f5eacc gitlab-ci, build/macos: Only save macports/ on GitLab CI cache
The Hessele runner started to complain about the artifacts size and
the macports/ dir as artifact is not needed on a non-splitted job.
It was a leftover from the inspiration from Flatpak scripts.

(On Flatpak it is needed becase if we don't pass .flatpak-builder as
artifacts the gimp job will not know that babl and gegl were built)
2026-03-12 22:22:07 -03:00
Bruno Lopes
b9b9b43338 gitlab-ci, build: Do not run splitted macOS jobs on anymore
More preparition to x64 support

As a ugly regression, it will not be possible to create .dmgs on
forks anymore without an explicit "Run pipeline" from a Developer.

I hope to fix that when we take our sponsored runner from CircleCI.
2026-03-12 12:47:25 -03:00
Bruno Lopes
5013aca0d4 build/windows: Fail on warnings on Clang-CL builds for babl sake
Babl can now be built cleanly on MSVC, yay!
2026-03-12 10:57:57 -03:00
Bruno Lopes
436c356caa gitlab-ci: flatpak publishing is now done with flat-manager-client-rust 2026-03-12 10:49:21 -03:00
Bruno Lopes
f5fa988a54 gitlab-ci, build/macos: Reset GitLab CI cache preparing for multi-arch support 2026-03-08 11:00:51 -03:00
Bruno Lopes
e8987fc26b gitlab-ci, build/macos: Bump Orka image to macOS 26
This is needed to generate Liquid Glass icons (#15023) and
was made possible thanks to Infrastructure/Infrastructure#2159
2026-03-08 10:44:56 -03:00
Bruno Lopes
ba227a6cec gitlab-ci: Fix MacPorts cache never being pulled on non-master branches
This is the same logic of our Flatpak deps script. But,
for now, it will only work on gimp project, not on forks.
2026-03-07 08:52:29 -03:00
Bruno Lopes
6e8928e823 gitlab-ci, build: Fail on warnings on Clang builds making them more useful
Thanks to various improvements on babl and GEGL repos they now build cleanly.
So, let's take advantage of Clang senstive semantic analysis on future builds.

For now, this is limited to such projects and on GNU Clang and Apple Clang,
since there is still a bit of work to do on Clang-CL (MSVC) side.
2026-03-01 11:16:22 -03:00
Bruno Lopes
693f46dc67 gitlab-ci: Only push image to Registry if it was changed
This is pretty obvious and will speed up Snap builds a bit,
since the Ubuntu/Snap image is the biggest on Container Registry.
2026-02-21 21:11:13 -03:00
Bruno Lopes
eecd0cdd14 gitlab-ci: Build Docker images without OCI runtime
chroot is closer to how Kaniko behaved and it is how the FD
ci-templates behave on gimp-web and gimp-web-devel CI.
2026-02-21 21:10:42 -03:00
Bruno Lopes
552078ae75 gitlab-ci: Reduce Dockerfile RUNs aiming for less cached layers and faster VFS
Too much RUN calls are not efficient. First, VFS uses a lot of IO at each RUN;
second, each RUN is cached as layer (we had more than one hundred layer tags!).

(Not that this does not apply to Dockerfile2 which uses no layers.)
2026-02-14 14:17:27 -03:00
Bruno Lopes
5f7e82211c gitlab-ci: Compress GitLab Registry images
This compresses our images at push with ZSTD and default level 3.

This saves at least 90MB of storage from each Debian image and
190MB from each Ubuntu image. In total, we saved aprox. 690MB.
2026-02-14 11:19:23 -03:00
Bruno Lopes
691cc71892 gitlab-ci: Slightly improve gimp-debian-nonreloc install message
Following f560c8a9
2026-01-31 14:36:46 -03:00
Bruno Lopes
232ce0a29f gitlab-ci: Set VARIANT var for artifacts of Homebrew builds
Following 5abb249d
2026-01-31 12:52:37 -03:00
Bruno Lopes
a140c251cb gitlab-ci: Allow non-devs to run package pipelines from MR description
Following 6245e4ee

In addition to producing testable packages by adding certain labels
(which only developers can do), now we can produce such packages by
adding the same label in the issue description. This facilitates to
non-developers generating such packages (e.g. new GsoC contributors).
2026-01-30 18:16:44 -03:00
Bruno Lopes
571c8fb95a gitlab-ci: Do not make .app bundle on scheduled Homebrew builds
While it was good to know the bundling is running fine,
this had the risk of people taking them as official.

So, let's be consistent with GNU Clang and Clang-CL builds.
2026-01-30 15:19:48 -03:00
Bruno Lopes
d0228dd79f gitlab-ci: Clarify a bit what is behind the "MSVC" builds 2026-01-30 13:44:24 -03:00
Bruno Lopes
890514702e gitlab-ci, build/macos: Add custom icon to the DMG volume
See: Infrastructure/gimp-macos-build#60
2026-01-27 11:13:17 -03:00
Bruno Lopes
06e2ebfea4 gitlab-ci, build/macos: Add caching to MacPorts builds
This makes the macOS builds way faster (aprox. 1hr instead of 3.5hr)
thanks to local caching of GNOME runner. We, however, still need to
split them since the timeout is relatively small on such runner.
2026-01-27 08:04:12 -03:00
Bruno Lopes
5abb249d1d gitlab-ci: Make Homebrew builds scheduled only
Since the COMMIT_SHA, we default to build with MacPorts which is more native.

But it is wise to not be overly reliant on it, since it tends to be very flaky,
and Mac platform have very restrictive hardware with software always changing.
2026-01-24 11:42:46 -03:00
Bruno Lopes
962291dbb7 build/macos: Build GIMP with MacPorts targeting macOS 11 on our CI
We still need to implement cache and better timeouts in the future.
2026-01-23 23:05:18 -03:00
Bruno Lopes
6444079d22 build/macos: Set background for .dmg on CI
By using a pre-made .DS_Store file, this bypasses Apple Script
restrictions which made impossible to set custom background on CI.
We don't have rights to tweak com.apple.TCC like gimp-macos-build.

.DS_Store is a binary file, but it is tiny and rarely updated,
which follows the precedent of build/windows/store/*.pfx.
2026-01-19 18:03:57 -03:00