This project has been migrated to GNOME GitLab under World/gimp-ci. Refer to the documentation repository for better information. If you just want to build GIMP, then check out the GIMP development environment based on Docker. The Docker environment also allows you to run GIMP if you have Xorg display; instructions therein.
Configuration as code for Jenkins. This repository contains code to generate and run jobs for build.gimp.org.
Jenkins jobs are tracked in configuration as code in the format of the Job DSL Plugin, a Jenkins plugin designed for this sort of thing.
See also Job DSL API which contains some of the DSL syntax. It doesn't contain all of the DSL syntax because the Job DSL plugin dynamically generates DSL for some Jenkins plugins.
The jobs/
directory contains the source code for generating all
Jenkins jobs.
Pipeline DSL is the flow of a build process for a Jenkins job.
All GIMP dependencies and GIMP itself must run through the same build pipeline
where generically it copies and extracts dependent artifacts from prior
dependent builds, builds and packages the software, and then collects the
package. If this explanation isn't quite clear then refer to the following
section Example of a pipeline. With that in mind refer to the vars/
directory for the build pipeline of GIMP and all of its dependencies.
The vars/
directory is part of a Jenkins shared pipeline
library.
The pipeline for GIMP involves the following steps in order:
- Copy artifacts from BABL
master
branch built from source and move into/data
. - Copy artifacts from GEGL
master
branch built from source and move into/data
. - Copy artifacts from libmypaint tag
v1.3.0
built from source and move into/data
. - Copy artifacts from mypaint-brushes branch
v1.3.x
built from source and move into/data
. - Extract all artifacts located at
/data/*.tar.gz
. - Build and install GIMP.
- Package
/home/jenkins/usr/*
as the GIMP artifact and name itgimp-internal.tar.gz
. - Collect the
gimp-internal.tar.gz
artifact.