Job Templates Overview

This page summarizes commonly used job templates / macros (high-level). For full legacy list see jenkins.rst.

Categories

Every-patch (Gerrit triggered):

  • {project}-verify-{stream}-{maven}-{java-version}

  • {project}-distribution-check-{stream}

  • {project}-validate-autorelease-{stream}

Post-merge:

  • {project}-merge-{stream}

Quality / Analysis:

  • {project}-sonar (or consolidated sonar stages in lf-maven-jobs)

On-demand / resource intensive:

  • integration-patch-test-{stream}

  • integration-multipatch-test-{stream}

Language-specific (from global-jjb):

  • lf-maven-jobs (Java/Maven multi-stage groups, supports java-version, mvn-version overrides)

  • lf-python-jobs (tox, multi-version matrix)

  • lf-go-jobs (includes sonar scan using java-version for scanner)

  • lf-gradle-jobs (gradle verify + publish patterns)

  • lf-c-cpp-jobs (cmake / build / test / sonar pipelines)

Key Parameters

  • java-version: default openjdk17 (java11 retained for legacy)

  • maven / mvn-version: mvn38 / mvn39 (default typically mvn39)

  • sonarcloud-java-version / sonar-jdk: Java used by sonar scanner (inherits java-version if unset)

  • build-timeout: override default 360m via opendaylight-infra-wrappers property

Override Examples

Example snippet to override Java & Maven (YAML fragment):

java-version: openjdk17
maven:
  - mvn39:
      mvn-version: mvn39

Matrix Builds

Some lf-* jobs create matrix builds (e.g. 3 python versions). See corresponding files under global-jjb/jjb/ for parameter options.

Sonar / SonarCloud

Use {project}-sonar or sonar-enabled grouped jobs. Provide project key through global settings if needed. Set sonarcloud-java-version to ensure scanner JDK alignment.

Refer to global-jjb release notes (global-jjb/releasenotes) for newly added parameters and deprecations.