Skip to content

gimp-ci/jenkins-dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Configuration as code for Jenkins.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages