Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.87 KB

README.md

File metadata and controls

64 lines (49 loc) · 2.87 KB

DEPRECATED

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.

Jenkins DSL Code

Configuration as code for Jenkins. This repository contains code to generate and run jobs for build.gimp.org.

Job DSL

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.

Build Pipeline DSL

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.

Example of a pipeline

The pipeline for GIMP involves the following steps in order:

  1. Copy artifacts from BABL master branch built from source and move into /data.
  2. Copy artifacts from GEGL master branch built from source and move into /data.
  3. Copy artifacts from libmypaint tag v1.3.0 built from source and move into /data.
  4. Copy artifacts from mypaint-brushes branch v1.3.x built from source and move into /data.
  5. Extract all artifacts located at /data/*.tar.gz.
  6. Build and install GIMP.
  7. Package /home/jenkins/usr/* as the GIMP artifact and name it gimp-internal.tar.gz.
  8. Collect the gimp-internal.tar.gz artifact.