2021-05-17 20:34:29 +08:00
|
|
|
# Default commit CI should only run the following pipelines:
|
2024-03-17 02:38:51 +08:00
|
|
|
# - Linux native CLang build (base & fast)
|
2021-05-17 20:34:29 +08:00
|
|
|
# - Win64 crossbuild (base & fast)
|
|
|
|
# Scheduled CI ($CI_PIPELINE_SOURCE == "schedule") will run regularly:
|
2024-03-17 02:38:51 +08:00
|
|
|
# - Linux native GCC build (rare usefulness)
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - Win Aarch64/64/32 native builds (base but slow)
|
2021-05-27 01:35:19 +08:00
|
|
|
# - Flatpak build (slow and doesn't need constant publishing)
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - cppcheck (static code analysis)
|
2021-05-17 20:34:29 +08:00
|
|
|
# Releases ($CI_COMMIT_TAG != null) should run only:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - Win Aarch64/64/32 native builds (Inno Windows installer creation)
|
2021-05-17 20:34:29 +08:00
|
|
|
#
|
|
|
|
# To force step-specific pipelines without waiting for commits and/or
|
|
|
|
# pipelines, these are the variable you should set:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - GIMP_CI_MESON_CLANG: trigger the Debian clang build.
|
2024-03-05 01:42:36 +08:00
|
|
|
# - GIMP_CI_MESON_GCC: trigger the Debian gcc build.
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - GIMP_CI_RASTER_ICONS: trigger the Debian build without vector icons.
|
|
|
|
# - GIMP_CI_CROSSROAD_WIN64: trigger the crossroad build for Win 64-bit.
|
|
|
|
# - GIMP_CI_MSYS2_WIN_AARCH64: trigger the native MSYS2 build for Win Aarch64.
|
2021-05-17 20:34:29 +08:00
|
|
|
# - GIMP_CI_MSYS2_WIN64: trigger the native MSYS2 build for Win 64-bit.
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - GIMP_CI_MSYS2_WIN32: trigger the native MSYS2 build for Win 32-bit.
|
2024-04-11 21:39:21 +08:00
|
|
|
# - GIMP_CI_SOURCES: trigger the Debian build and the source tarball job.
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# - GIMP_CI_FLATPAK: trigger the (normally) weekly flatpak build and publishing.
|
|
|
|
# - GIMP_CI_WIN_INSTALLER: trigger all native MSYS2 builds then creates Inno Windows installer.
|
2021-05-17 20:34:29 +08:00
|
|
|
# - GIMP_CI_CPPCHECK: trigger cppcheck static analysis.
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
2021-05-13 23:47:03 +08:00
|
|
|
|
2023-06-11 06:30:45 +08:00
|
|
|
image: debian:bookworm
|
2019-08-21 19:54:38 +08:00
|
|
|
|
2019-07-29 07:11:44 +08:00
|
|
|
stages:
|
2020-05-30 06:41:22 +08:00
|
|
|
- prepare
|
2019-10-02 03:36:19 +08:00
|
|
|
- dependencies
|
2019-07-29 07:11:44 +08:00
|
|
|
- gimp
|
2021-05-22 01:34:00 +08:00
|
|
|
- packaging
|
2020-08-07 22:41:05 +08:00
|
|
|
- distribution
|
2021-05-22 01:34:00 +08:00
|
|
|
- analysis
|
2019-07-29 07:11:44 +08:00
|
|
|
|
2024-04-12 06:17:57 +08:00
|
|
|
# GitLab "default:" is buggy so let's use extensions and references
|
|
|
|
.default:
|
|
|
|
# Caching support
|
|
|
|
variables:
|
|
|
|
CCACHE_BASEDIR: "$CI_PROJECT_DIR"
|
|
|
|
CCACHE_DIR: "$CI_PROJECT_DIR/_ccache"
|
|
|
|
CC: "ccache clang"
|
|
|
|
CXX: "ccache clang++"
|
|
|
|
cache:
|
|
|
|
key: $CI_JOB_NAME
|
|
|
|
paths:
|
|
|
|
- _ccache/
|
2024-04-14 03:22:05 +08:00
|
|
|
# Universal variables (works in all POSIX OSes and archs)
|
2024-04-12 06:17:57 +08:00
|
|
|
before_script:
|
|
|
|
- export PATH="$GIMP_PREFIX/bin:$PATH"
|
|
|
|
- gcc -print-multi-os-directory | grep . && LIB_DIR=$(gcc -print-multi-os-directory | sed 's/\.\.\///g') || LIB_DIR="lib"
|
|
|
|
- gcc -print-multiarch | grep . && LIB_SUBDIR=$(echo $(gcc -print-multiarch)'/')
|
|
|
|
- export PKG_CONFIG_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
|
|
|
|
- export LD_LIBRARY_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
|
|
|
- export XDG_DATA_DIRS="${GIMP_PREFIX}/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
|
|
|
|
- export GI_TYPELIB_PATH="${GIMP_PREFIX}/${LIB_DIR}/${LIB_SUBDIR}girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
|
|
|
|
# Common artifacts behavior
|
|
|
|
artifacts:
|
|
|
|
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
|
|
|
|
when: always
|
|
|
|
|
2019-07-29 07:11:44 +08:00
|
|
|
variables:
|
2019-10-02 02:36:09 +08:00
|
|
|
GIT_DEPTH: "1"
|
2024-03-28 19:41:26 +08:00
|
|
|
ARTIFACTS_SUFFIX: "-x64"
|
|
|
|
GIMP_PREFIX: "${CI_PROJECT_DIR}/_install${ARTIFACTS_SUFFIX}"
|
2019-07-29 07:11:44 +08:00
|
|
|
|
2020-05-30 06:41:22 +08:00
|
|
|
## prepare docker images ##
|
|
|
|
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
image-debian-x64:
|
2021-05-06 21:38:23 +08:00
|
|
|
rules:
|
2021-05-17 20:34:29 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MESON_CLANG != null'
|
2024-03-28 19:41:26 +08:00
|
|
|
- if: '$GIMP_CI_MESON_GCC != null'
|
2022-01-27 23:32:02 +08:00
|
|
|
- if: '$GIMP_CI_RASTER_ICONS != null'
|
2024-03-28 19:41:26 +08:00
|
|
|
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- if: '$GIMP_CI_SOURCES != null'
|
2024-01-19 20:54:18 +08:00
|
|
|
- if: '$GIMP_CI_FLATPAK != null'
|
2024-04-12 06:17:57 +08:00
|
|
|
# On merge requests and commits.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
2020-05-30 06:41:22 +08:00
|
|
|
stage: prepare
|
|
|
|
image:
|
|
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
|
|
entrypoint: [""]
|
2024-04-12 06:17:57 +08:00
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
cache: {}
|
2020-05-30 06:41:22 +08:00
|
|
|
script:
|
2022-04-01 20:43:33 +08:00
|
|
|
- export container=docker
|
2020-05-30 06:41:22 +08:00
|
|
|
- mkdir -p /kaniko/.docker
|
|
|
|
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
2023-06-11 06:30:45 +08:00
|
|
|
- echo "FROM debian:bookworm" > Dockerfile
|
2020-05-30 06:41:22 +08:00
|
|
|
- echo "RUN apt-get update" >> Dockerfile
|
|
|
|
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
|
2024-03-28 19:41:26 +08:00
|
|
|
# libjxl uses C++ features that require posix threads so we install
|
|
|
|
# specifically g++-mingw-w64-x86-64-posix and gcc-mingw-w64-x86-64-posix.
|
|
|
|
# Note that we can't install both the -posix and -win32 versions since
|
|
|
|
# update gcc-mingw-w64 (25). This is for crossroad builds only
|
2023-06-06 17:27:05 +08:00
|
|
|
- echo "appstream
|
|
|
|
at-spi2-core
|
|
|
|
build-essential
|
2024-04-12 06:17:57 +08:00
|
|
|
ccache
|
|
|
|
clang
|
2024-03-06 23:03:49 +08:00
|
|
|
cpio
|
2023-06-06 17:27:05 +08:00
|
|
|
desktop-file-utils
|
|
|
|
ffmpeg
|
2024-03-06 23:03:49 +08:00
|
|
|
g++-mingw-w64-x86-64-posix
|
|
|
|
gcc-mingw-w64-x86-64-posix
|
2023-06-06 17:27:05 +08:00
|
|
|
gettext
|
|
|
|
ghostscript
|
|
|
|
gi-docgen
|
|
|
|
git
|
|
|
|
glib-networking
|
|
|
|
gobject-introspection
|
|
|
|
graphviz
|
|
|
|
graphviz-dev
|
|
|
|
hicolor-icon-theme
|
|
|
|
iso-codes
|
|
|
|
libaa1-dev
|
|
|
|
libappstream-glib-dev
|
|
|
|
libbz2-dev
|
|
|
|
libcfitsio-dev
|
|
|
|
libdbus-glib-1-dev
|
|
|
|
libexif-dev
|
|
|
|
libgexiv2-dev
|
|
|
|
libgirepository1.0-dev
|
|
|
|
libgs-dev
|
|
|
|
libgtk-3-bin
|
|
|
|
libgtk-3-dev
|
|
|
|
libgudev-1.0-dev
|
|
|
|
libheif-dev
|
|
|
|
libjson-glib-dev
|
|
|
|
libjxl-dev
|
|
|
|
liblcms2-dev
|
|
|
|
liblzma-dev
|
|
|
|
libmng-dev
|
|
|
|
libmypaint-dev
|
2024-03-28 19:41:26 +08:00
|
|
|
libomp-dev
|
2023-06-06 17:27:05 +08:00
|
|
|
libopenexr-dev
|
|
|
|
libpoppler-glib-dev
|
|
|
|
libraw-dev
|
|
|
|
libraw20
|
|
|
|
librsvg2-dev
|
|
|
|
libspiro-dev
|
|
|
|
libsuitesparse-dev
|
|
|
|
libtiff-dev
|
|
|
|
libtiff5-dev
|
|
|
|
libtool
|
|
|
|
libumfpack5
|
|
|
|
libwebp-dev
|
|
|
|
libwmf-dev
|
|
|
|
libxmu-dev
|
|
|
|
libxpm-dev
|
|
|
|
luajit
|
|
|
|
meson
|
|
|
|
mypaint-brushes
|
|
|
|
poppler-data
|
|
|
|
python3
|
2024-03-06 23:03:49 +08:00
|
|
|
python3-distutils
|
|
|
|
python3-docutils
|
gitlab-ci, build: create Windows installer files with the Linux build.
The creation of the BMP welcome images for the Windows installer (part of
-Dwindows-installer=true build option) fails in the Windows job. After much
debugging, I could run GIMP, yet it was not enough. One of my hypothesis so far
is that the environment variables for DLLs won't work, since all the DLLs must
be in the same directory as the main binary (though with the WSL thing, I am
unsure, maybe it is still supposed to work), which only happens once GIMP is
installed. So GIMP runs successfully but not plug-ins.
Anyway I wasted too much time working on this and without a local Windows, it
just takes too long (mostly testing thanks to the CI) and is frustrating. Let's
just move to building both the localization files and the images on the main
Debian job (gimp-meson-debian), then use these as dependencies of the
win-installer-nightly job, i.e. when building the installer.
2023-06-28 06:24:41 +08:00
|
|
|
python3-gi
|
2023-06-06 17:27:05 +08:00
|
|
|
python3-pip
|
2024-03-06 23:03:49 +08:00
|
|
|
python3-zstandard
|
|
|
|
rpm
|
2023-06-06 17:27:05 +08:00
|
|
|
valac
|
|
|
|
xauth
|
|
|
|
xsltproc
|
|
|
|
xvfb
|
|
|
|
xz-utils
|
|
|
|
yelp-tools" >> Dockerfile
|
2020-05-30 06:41:22 +08:00
|
|
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:build-debian-latest --cache=true --cache-ttl=120h
|
|
|
|
|
2023-06-11 06:30:45 +08:00
|
|
|
## GNU/Linux 64-bit CIs (Debian bookworm) ##
|
2019-11-25 02:41:06 +08:00
|
|
|
|
2024-04-12 06:17:57 +08:00
|
|
|
.deps-debian-base:
|
|
|
|
extends: .default
|
|
|
|
needs: ["image-debian-x64"]
|
2019-10-02 03:36:19 +08:00
|
|
|
stage: dependencies
|
2020-05-30 06:41:22 +08:00
|
|
|
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
2024-04-14 03:22:05 +08:00
|
|
|
script:
|
|
|
|
# Clone babl and GEGL
|
2024-02-19 19:06:15 +08:00
|
|
|
- if [ "$CI_COMMIT_TAG" != "" ]; then
|
|
|
|
repo=https://gitlab.gnome.org/GNOME/babl.git;
|
|
|
|
babl_tag=$(git ls-remote --tags --exit-code --refs "$repo" |
|
|
|
|
grep -oi "BABL_[0-9]*_[0-9]*_[0-9]*" |
|
|
|
|
sort --version-sort | tail -1);
|
|
|
|
babl_branch="--branch=$babl_tag";
|
|
|
|
|
|
|
|
repo=https://gitlab.gnome.org/GNOME/gegl.git;
|
|
|
|
gegl_tag=$(git ls-remote --tags --exit-code --refs "$repo" |
|
|
|
|
grep -oi "GEGL_[0-9]*_[0-9]*_[0-9]*" |
|
|
|
|
sort --version-sort | tail -1);
|
|
|
|
gegl_branch="--branch=$gegl_tag";
|
|
|
|
fi
|
|
|
|
- git clone $babl_branch --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/babl.git _babl
|
|
|
|
- git clone $gegl_branch --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl
|
2024-04-14 03:22:05 +08:00
|
|
|
# Build babl and GEGL
|
2024-03-28 19:41:26 +08:00
|
|
|
- mkdir _babl/_build${ARTIFACTS_SUFFIX} && cd _babl/_build${ARTIFACTS_SUFFIX}
|
|
|
|
- meson setup .. -Dprefix="${GIMP_PREFIX}"
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja
|
|
|
|
- ninja install
|
|
|
|
- ccache --show-stats
|
2024-03-28 19:41:26 +08:00
|
|
|
- mkdir ../../_gegl/_build${ARTIFACTS_SUFFIX} && cd ../../_gegl/_build${ARTIFACTS_SUFFIX}
|
|
|
|
- meson setup .. -Dprefix="${GIMP_PREFIX}"
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja
|
|
|
|
- ninja install
|
|
|
|
- ccache --show-stats
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install${ARTIFACTS_SUFFIX}/
|
|
|
|
- _babl/_build${ARTIFACTS_SUFFIX}/
|
|
|
|
- _gegl/_build${ARTIFACTS_SUFFIX}/
|
|
|
|
expire_in: 2 hours
|
2024-04-12 06:17:57 +08:00
|
|
|
|
|
|
|
deps-debian-x64:
|
|
|
|
extends: .deps-debian-base
|
|
|
|
rules:
|
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MESON_CLANG != null'
|
|
|
|
- if: '$GIMP_CI_RASTER_ICONS != null'
|
|
|
|
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
|
|
|
- if: '$GIMP_CI_SOURCES != null'
|
|
|
|
- if: '$GIMP_CI_FLATPAK != null'
|
|
|
|
# On merge requests and commits.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
|
|
|
|
|
|
|
# GitLab "rules:variables:" is buggy so let's use jobs
|
|
|
|
deps-debian-gcc:
|
|
|
|
extends: .deps-debian-base
|
|
|
|
rules:
|
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MESON_GCC != null'
|
|
|
|
variables:
|
|
|
|
CC: "ccache gcc"
|
|
|
|
CXX: "ccache gcc"
|
2019-07-29 07:11:44 +08:00
|
|
|
|
2020-08-06 19:21:05 +08:00
|
|
|
.gimp-debian-base:
|
2024-04-12 06:17:57 +08:00
|
|
|
extends: .default
|
|
|
|
needs: ["deps-debian-x64"]
|
2019-07-29 07:11:44 +08:00
|
|
|
stage: gimp
|
2020-05-30 06:41:22 +08:00
|
|
|
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
2024-04-12 06:17:57 +08:00
|
|
|
before_script:
|
|
|
|
# Universal variables
|
|
|
|
- !reference [.default, before_script]
|
|
|
|
- git submodule update --init
|
|
|
|
- mkdir -p _build${ARTIFACTS_SUFFIX} && cd _build${ARTIFACTS_SUFFIX}
|
|
|
|
after_script:
|
|
|
|
- ccache --show-stats
|
2019-07-29 07:11:44 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install${ARTIFACTS_SUFFIX}/
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/
|
|
|
|
expire_in: 1 days
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
gimp-debian-x64:
|
2024-04-12 06:17:57 +08:00
|
|
|
extends: .gimp-debian-base
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2021-05-17 20:34:29 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
2024-03-05 01:42:36 +08:00
|
|
|
- if: '$GIMP_CI_MESON_CLANG != null'
|
2024-03-06 23:03:49 +08:00
|
|
|
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
2024-03-28 19:41:26 +08:00
|
|
|
- if: '$GIMP_CI_SOURCES != null'
|
2024-04-12 06:17:57 +08:00
|
|
|
- if: '$GIMP_CI_FLATPAK != null'
|
|
|
|
# On merge requests and commits.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
2019-08-09 22:18:43 +08:00
|
|
|
script:
|
2024-03-28 19:41:26 +08:00
|
|
|
- meson setup .. -Dprefix="${GIMP_PREFIX}"
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
-Dgi-docgen=enabled
|
|
|
|
-Dg-ir-doc=true
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja
|
|
|
|
- ninja test
|
2022-08-02 05:17:00 +08:00
|
|
|
# The src should not be changed by the build. If it is, something is
|
|
|
|
# wrong. Let's print out the diff for debugging in such case, and
|
|
|
|
# exit to fail the CI.
|
|
|
|
- if [ $(git diff |wc -l) -ne 0 ]; then
|
|
|
|
git diff;
|
|
|
|
exit 1;
|
|
|
|
fi
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja dist
|
|
|
|
- ninja install
|
2023-05-24 06:38:00 +08:00
|
|
|
artifacts:
|
2024-04-12 06:17:57 +08:00
|
|
|
paths:
|
|
|
|
- _install${ARTIFACTS_SUFFIX}/
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/config.h
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/meson-dist/
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/devel-docs/
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/build/flatpak/
|
|
|
|
- _build${ARTIFACTS_SUFFIX}/meson-logs/
|
2023-05-24 06:38:00 +08:00
|
|
|
reports:
|
2024-03-28 19:41:26 +08:00
|
|
|
junit: "_build${ARTIFACTS_SUFFIX}/meson-logs/testlog.junit.xml"
|
2019-08-09 22:18:43 +08:00
|
|
|
|
2024-03-05 01:42:36 +08:00
|
|
|
gimp-debian-gcc:
|
2024-04-12 06:17:57 +08:00
|
|
|
extends: .gimp-debian-base
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2021-05-17 20:34:29 +08:00
|
|
|
# Custom builds only (web GUI, API or schedules).
|
2024-03-05 01:42:36 +08:00
|
|
|
- if: '$GIMP_CI_MESON_GCC != null'
|
2024-04-12 06:17:57 +08:00
|
|
|
needs: ["deps-debian-gcc"]
|
|
|
|
variables:
|
|
|
|
CC: "ccache gcc"
|
|
|
|
CXX: "ccache gcc"
|
2020-01-03 07:19:10 +08:00
|
|
|
script:
|
2024-03-28 19:41:26 +08:00
|
|
|
- meson setup .. -Dprefix="${GIMP_PREFIX}"
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja
|
|
|
|
- ninja test
|
2020-01-03 07:19:10 +08:00
|
|
|
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
gimp-debian-raster-icons:
|
2024-04-12 06:17:57 +08:00
|
|
|
extends: .gimp-debian-base
|
2022-01-27 23:32:02 +08:00
|
|
|
rules:
|
|
|
|
# Custom builds only (web GUI, API or schedules).
|
|
|
|
- if: '$GIMP_CI_RASTER_ICONS != null'
|
|
|
|
script:
|
2024-03-28 19:41:26 +08:00
|
|
|
- meson setup .. -Dprefix="${GIMP_PREFIX}"
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
-Dvector-icons=false
|
2024-04-12 06:17:57 +08:00
|
|
|
- ninja
|
|
|
|
- ninja test
|
2023-09-28 19:55:38 +08:00
|
|
|
|
2024-04-13 03:20:20 +08:00
|
|
|
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
|
2024-01-19 20:54:18 +08:00
|
|
|
packaging-flatpak-x64:
|
2024-04-13 03:20:20 +08:00
|
|
|
# See: https://gitlab.gnome.org/GNOME/Initiatives/-/wikis/DevOps-with-Flatpak
|
|
|
|
# XXX This job is mostly the same as .flatpak job of
|
|
|
|
# flatpak_ci_initiative.yml so far, except that we removed the
|
|
|
|
# automatic tests since rebuilding plug-ins was not working and
|
|
|
|
# one of the test (save-and-export) requires plug-ins to be built.
|
|
|
|
extends: .default
|
2024-01-19 20:54:18 +08:00
|
|
|
rules:
|
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_FLATPAK != null'
|
|
|
|
# Merge requests with appropriate label.
|
|
|
|
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Flatpak package.*/'
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-debian-x64"]
|
|
|
|
stage: packaging
|
|
|
|
tags:
|
|
|
|
- flatpak
|
|
|
|
image: 'quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master'
|
2024-01-19 20:54:18 +08:00
|
|
|
variables:
|
|
|
|
GIT_SUBMODULE_STRATEGY: normal
|
|
|
|
# Replace with your manifest path
|
|
|
|
MANIFEST_PATH: "build/flatpak/org.gimp.GIMP-nightly.json"
|
|
|
|
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
|
|
|
# Replace with your application name, as written in the manifest
|
|
|
|
FLATPAK_MODULE: "gimp"
|
|
|
|
APP_ID: "org.gimp.GIMP"
|
|
|
|
BUNDLE: "gimp-git.flatpak"
|
2024-04-13 03:20:20 +08:00
|
|
|
cache:
|
|
|
|
- key: "$CI_JOB_NAME"
|
|
|
|
paths:
|
|
|
|
- '.flatpak-builder/downloads'
|
|
|
|
- '.flatpak-builder/git'
|
|
|
|
- key: "$CI_JOB_NAME"
|
|
|
|
paths:
|
|
|
|
- '.flatpak-builder/cache'
|
|
|
|
- '.flatpak-builder/ccache'
|
2024-04-14 03:22:05 +08:00
|
|
|
script:
|
2024-01-19 20:54:18 +08:00
|
|
|
# Report the installed versions of the runtime
|
|
|
|
- flatpak info org.gnome.Platform
|
|
|
|
- flatpak info org.gnome.Sdk
|
|
|
|
|
2024-03-15 00:03:45 +08:00
|
|
|
# Install LLVM/Clang
|
|
|
|
- flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
|
|
- flatpak install --user flathub org.freedesktop.Sdk.Extension.llvm17 -y
|
|
|
|
|
2024-01-19 20:54:18 +08:00
|
|
|
# Print the date, since appstream depends on local timezone
|
|
|
|
- date && date -u
|
|
|
|
|
|
|
|
# Get pre-configured manifest from Debian job
|
2024-03-28 19:41:26 +08:00
|
|
|
- cp _build${ARTIFACTS_SUFFIX}/build/flatpak/*json build/flatpak/
|
2024-01-19 20:54:18 +08:00
|
|
|
|
|
|
|
# GNOME script to customize the manifest
|
|
|
|
- rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
|
2024-04-14 03:22:05 +08:00
|
|
|
|
2024-01-19 20:54:18 +08:00
|
|
|
# Build deps and GIMP
|
|
|
|
# (Our script is too long for Gitlab and no complete output would be collected
|
|
|
|
# To make debugging actually possible, let's save logs as a file.)
|
|
|
|
- flatpak-builder --user --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
|
|
|
|
2>&1 | tee flatpak-builder.log
|
|
|
|
|
|
|
|
# Generate a Flatpak bundle
|
|
|
|
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
|
|
|
|
- tar cf repo.tar repo/
|
|
|
|
artifacts:
|
2024-04-10 08:24:13 +08:00
|
|
|
expose_as: 'Linux flatpak'
|
2024-01-19 20:54:18 +08:00
|
|
|
paths:
|
|
|
|
- flatpak-builder.log
|
|
|
|
# These are the same as flatpak_ci_initiative.yml as according to
|
|
|
|
# docs, key values are not merged but replaced.
|
2024-04-13 03:20:20 +08:00
|
|
|
- gimp-git.flatpak
|
|
|
|
- repo.tar
|
2024-04-10 08:24:13 +08:00
|
|
|
- '.flatpak-builder/build/gimp/_flatpak_build/meson-logs/meson-log.txt'
|
|
|
|
- '.flatpak-builder/build/gimp/_flatpak_build/meson-logs/testlog.txt'
|
2024-01-19 20:54:18 +08:00
|
|
|
expire_in: 1 week
|
2023-09-28 19:55:38 +08:00
|
|
|
|
2021-05-05 07:00:39 +08:00
|
|
|
## WINDOWS 64-bit CI (cross-build crossroad) ##
|
2021-05-02 21:43:25 +08:00
|
|
|
|
2024-04-13 07:33:27 +08:00
|
|
|
.win-cross:
|
|
|
|
extends: .default
|
|
|
|
variables:
|
2024-04-13 19:30:42 +08:00
|
|
|
BUILD_TYPE: "CI_CROSS"
|
2024-04-13 07:33:27 +08:00
|
|
|
# Needed because by default, Debian has now changed
|
|
|
|
# "sysconfig.get_default_scheme()" from "posix_prefix" to "posix_local" which
|
|
|
|
# adds a local/ folder to the install prefix of setup.py. This environment
|
|
|
|
# variable overrides this behavior.
|
|
|
|
DEB_PYTHON_INSTALL_LAYOUT: "deb"
|
2024-04-13 19:30:42 +08:00
|
|
|
PATH: "$CI_PROJECT_DIR/.local/bin:$CI_PROJECT_DIR/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
2024-04-13 07:33:27 +08:00
|
|
|
XDG_DATA_HOME: "$CI_PROJECT_DIR/.local/share/"
|
|
|
|
XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache/"
|
|
|
|
cache:
|
|
|
|
key: $CI_JOB_NAME
|
|
|
|
paths:
|
|
|
|
- .cache/crossroad/
|
2024-04-14 03:22:05 +08:00
|
|
|
# TODO: Crossroads handling of universal variables still not perfect
|
|
|
|
before_script: []
|
2024-04-13 07:33:27 +08:00
|
|
|
|
|
|
|
.win-x64-cross:
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2021-05-17 20:34:29 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_CROSSROAD_WIN64 != null'
|
2024-04-13 03:20:20 +08:00
|
|
|
# On merge requests.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
# On commits except tags.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_TAG == null'
|
2024-04-13 07:33:27 +08:00
|
|
|
|
|
|
|
deps-win-x64-cross:
|
|
|
|
extends: .win-cross
|
|
|
|
rules:
|
|
|
|
- !reference [.win-x64-cross, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["image-debian-x64"]
|
2019-10-02 03:36:19 +08:00
|
|
|
stage: dependencies
|
2024-03-06 23:03:49 +08:00
|
|
|
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
2024-03-28 19:41:26 +08:00
|
|
|
script:
|
2024-04-14 03:22:05 +08:00
|
|
|
- bash -x build/windows/gitlab-ci/1_build-deps-crossroad.sh
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- crossroad w64 gimp --run="build/windows/gitlab-ci/1_build-deps-crossroad.sh"
|
2019-10-02 03:36:19 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- .local/
|
2024-03-28 19:41:26 +08:00
|
|
|
- _deps/_babl/_build-x64-cross/
|
|
|
|
- _deps/_gegl/_build-x64-cross/
|
2024-04-13 03:20:20 +08:00
|
|
|
expire_in: 2 hours
|
2019-09-25 20:27:09 +08:00
|
|
|
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
gimp-win-x64-cross:
|
2024-04-13 07:33:27 +08:00
|
|
|
extends: .win-cross
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2024-04-13 07:33:27 +08:00
|
|
|
- !reference [.win-x64-cross, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["deps-win-x64-cross", "gimp-debian-x64"]
|
2019-10-02 03:36:19 +08:00
|
|
|
stage: gimp
|
2024-03-06 23:03:49 +08:00
|
|
|
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
2024-03-28 19:41:26 +08:00
|
|
|
script:
|
2024-04-14 03:22:05 +08:00
|
|
|
- bash -x build/windows/gitlab-ci/2_build-gimp-crossroad.sh
|
2023-12-25 19:43:36 +08:00
|
|
|
- crossroad w64 gimp --run="build/windows/gitlab-ci/2_build-gimp-crossroad.sh"
|
2019-09-25 20:27:09 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-03-28 19:41:26 +08:00
|
|
|
- _install-x64-cross/
|
2024-04-13 19:30:42 +08:00
|
|
|
- _build-x64-cross/
|
2024-04-13 03:20:20 +08:00
|
|
|
expire_in: 1 day
|
2019-11-25 02:41:06 +08:00
|
|
|
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
packaging-win-x64-nightly:
|
2024-04-13 07:33:27 +08:00
|
|
|
extends: .win-cross
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2024-04-13 07:33:27 +08:00
|
|
|
- !reference [.win-x64-cross, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-win-x64-cross"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: packaging
|
2019-11-25 02:41:06 +08:00
|
|
|
variables:
|
2023-12-25 19:43:36 +08:00
|
|
|
CROSSROAD_PLATFORM: "w64"
|
2024-04-13 07:33:27 +08:00
|
|
|
cache: []
|
2024-04-14 03:22:05 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- apt-get update
|
|
|
|
- apt-get install -y --no-install-recommends
|
2023-12-25 19:43:36 +08:00
|
|
|
binutils
|
|
|
|
binutils-mingw-w64-x86-64
|
|
|
|
file
|
|
|
|
libglib2.0-bin
|
|
|
|
python3
|
|
|
|
- bash -x build/windows/gitlab-ci/3_package-gimp-uni_base.sh
|
|
|
|
- cd gimp-x64
|
|
|
|
- bash -x ../build/windows/gitlab-ci/3_package-gimp-uni_sym.sh
|
2024-04-13 03:20:20 +08:00
|
|
|
artifacts:
|
|
|
|
expose_as: 'Windows zip'
|
|
|
|
paths:
|
|
|
|
- gimp-x64/
|
|
|
|
- done-dll.list
|
|
|
|
expire_in: 2 days
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
## WINDOWS Aarch64 CI (native MSYS2) ##
|
|
|
|
|
2024-04-11 21:39:21 +08:00
|
|
|
.win:
|
2024-04-12 06:17:57 +08:00
|
|
|
extends: .default
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_WIN_INSTALLER != null'
|
|
|
|
# Merge requests with appropriate label.
|
|
|
|
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Windows Installer.*/'
|
2024-04-13 03:20:20 +08:00
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
variables:
|
2023-12-10 23:49:07 +08:00
|
|
|
BUILD_TYPE: "CI_NATIVE"
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
CHERE_INVOKING: "yes"
|
2024-04-14 03:22:05 +08:00
|
|
|
# We use the same universal variables but not directly from PS
|
|
|
|
before_script: []
|
2024-04-11 21:39:21 +08:00
|
|
|
|
|
|
|
.win-a64:
|
|
|
|
extends: .win
|
|
|
|
rules:
|
2024-04-13 10:00:14 +08:00
|
|
|
- !reference [.win, rules]
|
2024-04-11 21:39:21 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MSYS2_WIN_AARCH64 != null'
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
tags:
|
|
|
|
- windows-aarch64
|
2024-04-11 21:39:21 +08:00
|
|
|
variables:
|
|
|
|
MSYSTEM: "CLANGARM64"
|
2024-01-16 01:55:35 +08:00
|
|
|
before_script:
|
2024-04-11 21:39:21 +08:00
|
|
|
# Verification to prevent the job from failing because stuck pacman (ARM only)
|
2024-01-16 18:35:48 +08:00
|
|
|
- $stuck = Test-Path -Path "C:\msys64\var\lib\pacman\db.lck" -PathType Leaf
|
|
|
|
- if ($stuck -eq "True") {
|
2024-02-08 05:42:57 +08:00
|
|
|
Remove-Item -Force -Path "C:\msys64\var\lib\pacman\db.lck";
|
2024-01-16 18:35:48 +08:00
|
|
|
Write-Output "Cleaned previous stuck pacman" }
|
2024-02-08 22:46:19 +08:00
|
|
|
- taskkill /F /FI "MODULES eq msys-2.0.dll"
|
2024-01-16 18:35:48 +08:00
|
|
|
- Start-Job -ScriptBlock{sleep 90; taskkill /t /F /IM "pacman.exe"}
|
2024-04-11 21:39:21 +08:00
|
|
|
|
|
|
|
deps-win-a64:
|
|
|
|
extends: .win-a64
|
|
|
|
rules:
|
|
|
|
- !reference [.win-a64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: []
|
2024-04-11 21:39:21 +08:00
|
|
|
stage: dependencies
|
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/1_build-deps-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-a64/
|
|
|
|
expire_in: 2 hours
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
gimp-win-a64:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-a64
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-a64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["deps-win-a64"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: gimp
|
|
|
|
script:
|
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/2_build-gimp-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-a64/
|
|
|
|
- _build-a64/build/windows/installer/
|
|
|
|
- _build-a64/meson-*/
|
|
|
|
# Needed by 4_dist-gimp-inno.ps1 in dist-installer-weekly
|
|
|
|
- _build-a64/config.h
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
packaging-win-a64:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-a64
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-a64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-win-a64"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: packaging
|
2024-04-11 21:39:21 +08:00
|
|
|
cache: []
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
script:
|
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/3_package-gimp-uni_base.sh"
|
|
|
|
- cd gimp-a64
|
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ../build/windows/gitlab-ci/3_package-gimp-uni_sym.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- gimp-a64/
|
|
|
|
# Just passing-through splash and language files for the Windows installer.
|
|
|
|
- _build-a64/build/windows/installer/
|
|
|
|
# Needed by 4_dist-gimp-inno.ps1 in dist-installer-weekly
|
|
|
|
- _build-a64/config.h
|
|
|
|
- done-dll.list
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
## WINDOWS x86_64 CI (native MSYS2) ##
|
|
|
|
|
2024-04-11 21:39:21 +08:00
|
|
|
.win-x64:
|
|
|
|
extends: .win
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-13 10:00:14 +08:00
|
|
|
- !reference [.win, rules]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MSYS2_WIN64 != null'
|
|
|
|
tags:
|
|
|
|
- win32-ps
|
2024-04-11 21:39:21 +08:00
|
|
|
variables:
|
|
|
|
MSYSTEM: "CLANG64"
|
|
|
|
|
|
|
|
deps-win-x64:
|
|
|
|
extends: .win-x64
|
|
|
|
rules:
|
|
|
|
- !reference [.win-x64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: []
|
2024-04-11 21:39:21 +08:00
|
|
|
stage: dependencies
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/1_build-deps-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-x64/
|
|
|
|
expire_in: 2 hours
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
gimp-win-x64:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-x64
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-x64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["deps-win-x64"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: gimp
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/2_build-gimp-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-x64/
|
|
|
|
- _build-x64/meson-*/
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
packaging-win-x64:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-x64
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-x64, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-win-x64"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: packaging
|
2024-04-11 21:39:21 +08:00
|
|
|
cache: []
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/3_package-gimp-uni_base.sh"
|
|
|
|
- cd gimp-x64
|
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ../build/windows/gitlab-ci/3_package-gimp-uni_sym.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- gimp-x64/
|
|
|
|
- done-dll.list
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
## WINDOWS x86 CI (native MSYS2) ##
|
|
|
|
|
2024-04-11 21:39:21 +08:00
|
|
|
.win-x86:
|
|
|
|
extends: .win
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-13 10:00:14 +08:00
|
|
|
- !reference [.win, rules]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_MSYS2_WIN32 != null'
|
|
|
|
tags:
|
|
|
|
- win32-ps
|
2024-04-11 21:39:21 +08:00
|
|
|
variables:
|
|
|
|
MSYSTEM: "MINGW32"
|
2024-04-12 06:17:57 +08:00
|
|
|
CC: "ccache cc"
|
|
|
|
CXX: "ccache c++"
|
2024-04-11 21:39:21 +08:00
|
|
|
|
|
|
|
deps-win-x86:
|
|
|
|
extends: .win-x86
|
|
|
|
rules:
|
|
|
|
- !reference [.win-x86, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: []
|
2024-04-11 21:39:21 +08:00
|
|
|
stage: dependencies
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/1_build-deps-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-x86/
|
|
|
|
expire_in: 2 hours
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
gimp-win-x86:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-x86
|
2021-04-26 23:45:11 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-x86, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["deps-win-x86"]
|
2019-11-25 02:41:06 +08:00
|
|
|
stage: gimp
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/2_build-gimp-msys2.sh"
|
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- _install-x86/
|
|
|
|
- _build-x86/meson-*/
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
|
|
|
packaging-win-x86:
|
2024-04-11 21:39:21 +08:00
|
|
|
extends: .win-x86
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
rules:
|
2024-04-11 21:39:21 +08:00
|
|
|
- !reference [.win-x86, rules]
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-win-x86"]
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
stage: packaging
|
2024-04-11 21:39:21 +08:00
|
|
|
cache: []
|
2024-01-16 01:55:35 +08:00
|
|
|
script:
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ./build/windows/gitlab-ci/3_package-gimp-uni_base.sh"
|
|
|
|
- cd gimp-x86
|
|
|
|
- C:\msys64\usr\bin\bash -lc "bash -x ../build/windows/gitlab-ci/3_package-gimp-uni_sym.sh"
|
2019-11-25 02:41:06 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
2024-04-13 03:20:20 +08:00
|
|
|
- gimp-x86/
|
|
|
|
- done-dll.list
|
|
|
|
expire_in: 1 day
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
|
2020-08-07 22:41:05 +08:00
|
|
|
|
|
|
|
## Ready-to-distribute ##
|
|
|
|
|
gitlab-ci, build/windows: Unify CI jobs wording
Debian changes:
- Since autotools has gone, we don't need to specify 'meson' in the
debian job and others.
- The "INSTALL_PREFIX" was renamed for the more usual "GIMP_PREFIX" and
the meson sintax of Debian jobs was also updated.
Windows changes:
- Then, clarify that the win64-nightly and win32-nightly jobs are, in
fact, in the 'packaging' step, since we don't really "distribute" GIMP
in .zip and the commands are almost the same of the packaging .SH
script, without scripted optimizations for Inno Installer (or future
.MSIX), crucial for distribution.
- We don't need to specify "native" sufix in any build since they are
the rule and cross builds are the exception.
General changes:
- The job names was changed to be more consistent and in accordance
with the folders present in the artifacts.
- The 'nightly' sufix was removed from the Inno Windows Installer job
and others, since this doesn't reflect the real build frequency.
- The scripts filenames are altered to stay "in order". This is not
essential but ultra convenient since it is easy to view and search.
(The -uni suffix is explained in a further commit)
- All artifacts names now have the commit to avoid apparently duplicate
files when downloading same step artifacts from different projects.
- Finally, rearrange the order of jobs rationally: first the OSes and
archs (from the most free and modern to the most closed and legacy),
then the stages (from 'prepare' to 'analysis'), ending with the
frequency of jobs (from the most frequent, called at each push, to
the least/weekly).
Overall, this changes, although difficult to review at the first
sight, will avoid in the future quite "dumb" issues like:
GNOME/gimp#10195
2023-12-08 04:12:44 +08:00
|
|
|
sources-debian:
|
2024-04-13 03:20:20 +08:00
|
|
|
extends: .default
|
2022-08-02 02:13:32 +08:00
|
|
|
rules:
|
2024-04-13 03:20:20 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_SOURCES != null'
|
2022-08-02 02:13:32 +08:00
|
|
|
# On commits.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["gimp-debian-x64"]
|
2022-08-02 02:13:32 +08:00
|
|
|
stage: distribution
|
2024-04-13 03:20:20 +08:00
|
|
|
cache: []
|
2022-08-02 02:13:32 +08:00
|
|
|
script:
|
2024-03-28 19:41:26 +08:00
|
|
|
- mv _build${ARTIFACTS_SUFFIX}/meson-dist/gimp-*.tar.xz .
|
2022-08-09 00:15:33 +08:00
|
|
|
- FILENAME=`ls gimp-*.tar.xz` &&
|
2022-08-02 02:13:32 +08:00
|
|
|
sha256sum gimp-*.tar.xz > ${FILENAME}.SHA256SUMS &&
|
|
|
|
sha512sum gimp-*.tar.xz > ${FILENAME}.SHA512SUMS
|
2024-04-13 03:20:20 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- gimp-*.tar.xz
|
|
|
|
- gimp-*.tar.xz.SHA256SUMS
|
|
|
|
- gimp-*.tar.xz.SHA512SUMS
|
|
|
|
expire_in: 2 days
|
2022-08-02 02:13:32 +08:00
|
|
|
|
2022-03-27 22:20:20 +08:00
|
|
|
dev-docs:
|
2024-04-13 03:20:20 +08:00
|
|
|
extends: .default
|
2022-03-27 22:20:20 +08:00
|
|
|
rules:
|
2024-04-13 03:20:20 +08:00
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_SOURCES != null'
|
2022-03-27 22:20:20 +08:00
|
|
|
# On commits.
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
|
|
# On releases.
|
|
|
|
- if: '$CI_COMMIT_TAG != null'
|
2024-04-13 03:20:20 +08:00
|
|
|
needs: ["deps-debian-x64", "gimp-debian-x64"]
|
2022-03-27 22:20:20 +08:00
|
|
|
stage: distribution
|
2022-09-08 07:17:06 +08:00
|
|
|
image: $CI_REGISTRY_IMAGE:build-debian-latest
|
2024-04-13 03:20:20 +08:00
|
|
|
cache: []
|
2022-03-27 22:20:20 +08:00
|
|
|
script:
|
2024-03-28 19:41:26 +08:00
|
|
|
- BABL_VER=$(grep BABL_VERSION _babl/_build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
|
|
|
|
BABL_API_VER=$(grep BABL_API_VERSION _babl/_build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
|
2023-08-12 23:33:54 +08:00
|
|
|
DIR_NAME=babl-api-docs-$BABL_VER &&
|
|
|
|
mkdir $DIR_NAME &&
|
2024-03-28 19:41:26 +08:00
|
|
|
mv "${GIMP_PREFIX}/share/doc/babl-$BABL_API_VER" $DIR_NAME/ &&
|
2023-08-12 23:33:54 +08:00
|
|
|
TAR_NAME="$DIR_NAME.tar.xz" &&
|
2024-03-10 02:04:57 +08:00
|
|
|
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
|
2023-08-12 23:33:54 +08:00
|
|
|
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&
|
|
|
|
sha512sum $TAR_NAME > ${TAR_NAME}.SHA512SUMS
|
2024-03-28 19:41:26 +08:00
|
|
|
- GEGL_MAJ_VER=$(grep GEGL_MAJOR_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
|
|
|
|
GEGL_MIN_VER=$(grep GEGL_MINOR_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
|
|
|
|
GEGL_MIC_VER=$(grep GEGL_MICRO_VERSION _gegl/_build${ARTIFACTS_SUFFIX}/config.h |head -1 |sed 's/^[^0-9]*\([0-9]*\).*$/\1/') &&
|
2023-08-12 23:33:54 +08:00
|
|
|
GEGL_VER="$GEGL_MAJ_VER.$GEGL_MIN_VER.$GEGL_MIC_VER" &&
|
|
|
|
GEGL_API_VER="$GEGL_MAJ_VER.$GEGL_MIN_VER" &&
|
|
|
|
DIR_NAME=gegl-api-docs-$GEGL_VER &&
|
|
|
|
mkdir $DIR_NAME &&
|
2024-03-28 19:41:26 +08:00
|
|
|
mv "${GIMP_PREFIX}/share/doc/gegl-$GEGL_API_VER" $DIR_NAME/ &&
|
2023-08-12 23:33:54 +08:00
|
|
|
TAR_NAME="$DIR_NAME.tar.xz" &&
|
2024-03-10 02:04:57 +08:00
|
|
|
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
|
2023-08-12 23:33:54 +08:00
|
|
|
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&
|
|
|
|
sha512sum $TAR_NAME > ${TAR_NAME}.SHA512SUMS
|
2024-03-28 19:41:26 +08:00
|
|
|
- GIMP_VER=$(grep GIMP_VERSION _build${ARTIFACTS_SUFFIX}/config.h | head -1 | sed 's/^.*"\([^"]*\)"$/\1/') &&
|
data, devel-docs, gitlab-ci: improve the docs tarball.
- Use a relative path for GIMP_LOGO_PATH inside the gi-docgen generated
HTML, and not an absolute path taken from build dir (otherwise this
would break, for installed docs, but also for the tarball and the
developer website!).
- Also use either gimp-logo.png or gimp-devel-logo.png depending on
whether we are on a stable or unstable branch.
- Install these in images/ inside the GIMP docs folder, which
corresponds to the relative path given to GIMP_LOGO_PATH.
- The installed root dir will be $datadir/doc/gimp-2.99/, e.g.
/usr/share/doc/gimp-2.99/
- Inside this folder, the library references will be in libgimp-3.0/ and
libgimpui-3.0/ (instead of weird Gimp-3.0/ and GimpUi-3.0/). Note that
the root dir uses the application version (2.99) whereas the library
folder use the API versions. These are different in development phase.
- Archive the gi-docgen installed files, not taken from the build dir,
to avoid packaging temp files, such as the .toml files. Note that
`g-ir-docs` files are still taken from the build dir, as we don't
install them yet.
- Finally package all this in a directory before archiving in a tar.xz,
named the same as the directory (e.g. gimp-api-docs-2.99.13/ inside
gimp-api-docs-2.99.13.tar.xz).
2022-09-09 22:37:40 +08:00
|
|
|
APP_VER=$(echo $GIMP_VER | sed 's/\([0-9]\+\.[0-9]\+\)\..*/\1/') &&
|
|
|
|
DIR_NAME=gimp-api-docs-$GIMP_VER &&
|
|
|
|
mkdir $DIR_NAME &&
|
2024-03-28 19:41:26 +08:00
|
|
|
mv "${GIMP_PREFIX}/share/doc/gimp-$APP_VER" $DIR_NAME/reference &&
|
|
|
|
mv _build${ARTIFACTS_SUFFIX}/devel-docs/g-ir-docs $DIR_NAME/ &&
|
data, devel-docs, gitlab-ci: improve the docs tarball.
- Use a relative path for GIMP_LOGO_PATH inside the gi-docgen generated
HTML, and not an absolute path taken from build dir (otherwise this
would break, for installed docs, but also for the tarball and the
developer website!).
- Also use either gimp-logo.png or gimp-devel-logo.png depending on
whether we are on a stable or unstable branch.
- Install these in images/ inside the GIMP docs folder, which
corresponds to the relative path given to GIMP_LOGO_PATH.
- The installed root dir will be $datadir/doc/gimp-2.99/, e.g.
/usr/share/doc/gimp-2.99/
- Inside this folder, the library references will be in libgimp-3.0/ and
libgimpui-3.0/ (instead of weird Gimp-3.0/ and GimpUi-3.0/). Note that
the root dir uses the application version (2.99) whereas the library
folder use the API versions. These are different in development phase.
- Archive the gi-docgen installed files, not taken from the build dir,
to avoid packaging temp files, such as the .toml files. Note that
`g-ir-docs` files are still taken from the build dir, as we don't
install them yet.
- Finally package all this in a directory before archiving in a tar.xz,
named the same as the directory (e.g. gimp-api-docs-2.99.13/ inside
gimp-api-docs-2.99.13.tar.xz).
2022-09-09 22:37:40 +08:00
|
|
|
TAR_NAME="$DIR_NAME.tar.xz" &&
|
2024-03-10 02:04:57 +08:00
|
|
|
tar --dereference -cJf ${TAR_NAME} $DIR_NAME &&
|
data, devel-docs, gitlab-ci: improve the docs tarball.
- Use a relative path for GIMP_LOGO_PATH inside the gi-docgen generated
HTML, and not an absolute path taken from build dir (otherwise this
would break, for installed docs, but also for the tarball and the
developer website!).
- Also use either gimp-logo.png or gimp-devel-logo.png depending on
whether we are on a stable or unstable branch.
- Install these in images/ inside the GIMP docs folder, which
corresponds to the relative path given to GIMP_LOGO_PATH.
- The installed root dir will be $datadir/doc/gimp-2.99/, e.g.
/usr/share/doc/gimp-2.99/
- Inside this folder, the library references will be in libgimp-3.0/ and
libgimpui-3.0/ (instead of weird Gimp-3.0/ and GimpUi-3.0/). Note that
the root dir uses the application version (2.99) whereas the library
folder use the API versions. These are different in development phase.
- Archive the gi-docgen installed files, not taken from the build dir,
to avoid packaging temp files, such as the .toml files. Note that
`g-ir-docs` files are still taken from the build dir, as we don't
install them yet.
- Finally package all this in a directory before archiving in a tar.xz,
named the same as the directory (e.g. gimp-api-docs-2.99.13/ inside
gimp-api-docs-2.99.13.tar.xz).
2022-09-09 22:37:40 +08:00
|
|
|
sha256sum $TAR_NAME > ${TAR_NAME}.SHA256SUMS &&
|
|
|
|
sha512sum $TAR_NAME > ${TAR_NAME}.SHA512SUMS
|
2024-04-13 03:20:20 +08:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- babl-api-docs-*.tar.xz
|
|
|
|
- babl-api-docs-*.tar.xz.SHA256SUMS
|
|
|
|
- babl-api-docs-*.tar.xz.SHA512SUMS
|
|
|
|
- gegl-api-docs-*.tar.xz
|
|
|
|
- gegl-api-docs-*.tar.xz.SHA256SUMS
|
|
|
|
- gegl-api-docs-*.tar.xz.SHA512SUMS
|
|
|
|
- gimp-api-docs-*.tar.xz
|
|
|
|
- gimp-api-docs-*.tar.xz.SHA256SUMS
|
|
|
|
- gimp-api-docs-*.tar.xz.SHA512SUMS
|
|
|
|
expire_in: 2 days
|
|
|
|
|
|
|
|
dist-flatpak-weekly:
|
|
|
|
extends: '.publish_nightly'
|
|
|
|
rules:
|
|
|
|
# Custom builds though web GUI, API or schedules.
|
|
|
|
- if: '$GIMP_CI_FLATPAK != null'
|
|
|
|
needs: ["packaging-flatpak-x64"]
|
|
|
|
stage: distribution
|
|
|
|
|
|
|
|
dist-installer-weekly:
|
|
|
|
extends: .win
|
|
|
|
rules:
|
|
|
|
- !reference [.win, rules]
|
|
|
|
needs: ["packaging-win-a64", "packaging-win-x64", "packaging-win-x86"]
|
|
|
|
stage: distribution
|
|
|
|
tags:
|
|
|
|
- win32-ps
|
|
|
|
script:
|
|
|
|
- build/windows/gitlab-ci/4_dist-gimp-inno.ps1 | Out-File -FilePath installer.log
|
|
|
|
artifacts:
|
|
|
|
expose_as: 'Windows exe'
|
|
|
|
paths:
|
|
|
|
- build/windows/installer/_Output/
|
|
|
|
- installer.log
|
|
|
|
expire_in: 1 week
|
|
|
|
|
2022-10-27 02:33:02 +08:00
|
|
|
|
2024-04-13 03:20:20 +08:00
|
|
|
## Analysis ##
|
|
|
|
|
|
|
|
clang-format:
|
|
|
|
only:
|
|
|
|
- merge_requests
|
|
|
|
needs: []
|
|
|
|
stage: analysis
|
2024-04-14 03:22:05 +08:00
|
|
|
script:
|
2024-04-13 03:20:20 +08:00
|
|
|
- apt-get update
|
|
|
|
- apt-get install -y clang-format
|
|
|
|
git
|
|
|
|
- .gitlab/run_style_check_diff.sh
|
|
|
|
allow_failure: true
|
|
|
|
artifacts:
|
|
|
|
when: on_failure
|
|
|
|
paths: ['fetch_upstream.log', 'fetch_origin.log']
|
|
|
|
expire_in: 1 week
|
|
|
|
|
|
|
|
cppcheck:
|
|
|
|
extends: .default
|
|
|
|
rules:
|
|
|
|
# Custom builds only (web GUI, API or schedules).
|
|
|
|
- if: '$GIMP_CI_CPPCHECK != null'
|
|
|
|
needs: []
|
|
|
|
stage: analysis
|
|
|
|
cache: []
|
2024-04-14 03:22:05 +08:00
|
|
|
script:
|
2024-04-13 03:20:20 +08:00
|
|
|
- apt-get update
|
|
|
|
- apt-get install -y cppcheck
|
|
|
|
- cppcheck -q -j8 --enable=all --force --output-file=cppcheck.xml --xml --xml-version=2
|
|
|
|
-i _build-x64 -i _build-x86 -i _deps -i _install-x64 -i _install-x86 -i .local -i .cache .
|
|
|
|
- mkdir report
|
|
|
|
- cppcheck-htmlreport --source-dir=. --title=gimp --file=cppcheck.xml --report-dir=report
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- report
|
|
|
|
expire_in: 1 week
|