branch: master
refspec: 'refs/heads/master'
jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
choosing-strategy: default
- lf-infra-publish
- job-template:
- name: 'autorelease-release-{stream}'
+ name: 'autorelease-release-{stream}-{mvn-version}-{java-version}'
######################
# Default parameters #
build-node: '{build-node}'
cron: 'H 0 * * *'
- java-version: openjdk8
+ java-version: '{java-version}'
+ mvn-global-settings: global-settings
+ mvn-goals: clean deploy
+ mvn-opts: '-Xmx8g -Dmaven.compile.fork=true'
+ mvn-params: ''
+ mvn-settings: autorelease-settings
mvn-version: mvn35
- extra-mvn-opts: ''
+ sign-artifacts: true
+ disable-job: 'false'
#####################
# Job Configuration #
project-type: freestyle
node: '{build-node}'
- jdk: '{java-version}'
+ disabled: '{disable-job}'
properties:
- lf-infra-properties:
build-days-to-keep: 30
parameters:
- - maven-exec:
- maven-version: '{mvn-version}'
- lf-infra-parameters:
project: '{project}'
stream: '{stream}'
branch: '{branch}'
lftools-version: '{lftools-version}'
+ - lf-infra-maven-parameters:
+ mvn-opts: '{mvn-opts}'
+ mvn-params: '{mvn-params}'
+ mvn-version: '{mvn-version}'
- distribution-karaf-version:
karaf-version: '{karaf-version}'
- autorelease-release-tag:
release-tag: '{stream}'
- - string:
- name: EXTRA_MVN_OPTS
- default: '{extra-mvn-opts}'
- description: |
- Additional optional Maven Options to pass to the Maven Goals
- parameter.
-
- Examples:
- -Dskip.karaf.featureTest=true # To disable karaf SingleFeatureTests
- --fail-never # NEVER fail the build, regardless of project result
- --fail-at-end # Only fail the build afterwards; allow all non-impacted builds to continue
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
- lf-jacoco-nojava-workaround
- shell: "./scripts/list-project-dependencies.sh"
- autorelease-determine-merge-order
- - autorelease-cfp:
- autorelease-settings: 'autorelease-settings'
- global-settings: 'odl-global-settings'
- - lf-infra-create-netrc:
- server-id: '{mvn-staging-id}'
+ - lf-provide-maven-settings:
+ global-settings-file: '{mvn-global-settings}'
+ settings-file: '{mvn-settings}'
- autorelease-generate-release-patches
- autorelease-generate-artifact-versions
+ - lf-update-java-alternatives:
+ java-version: '{java-version}'
- autorelease-distribute-taglist
- distribute-build-url:
path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
# Keep the patches compatible with that ideal, but apply an edit
# to enable building in a single maven reactor afterwards.
- autorelease-fix-relative-paths
- - maven-target:
- maven-version: '{mvn-version}'
- pom: 'pom.xml'
- goals: |
- clean deploy
- $EXTRA_MVN_OPTS
- -Pintegrationtests,repoBuild
- -Dcheckstyle.skip=true
- -DaltDeploymentRepository=staging::default::file:"$WORKSPACE"/m2repo
- {opendaylight-infra-mvn-opts}
- java-opts:
- - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: 'autorelease-settings'
- settings-type: cfp
- global-settings: 'global-settings'
- global-settings-type: cfp
- - lf-maven-stage
+ - lf-maven-build:
+ mvn-goals: '{mvn-goals}'
+ - lf-sigul-sign-dir:
+ sign-artifacts: '{sign-artifacts}'
+ sign-dir: '$WORKSPACE/m2repo'
+ sign-mode: serial
+ - lf-maven-stage:
+ mvn-global-settings: '{mvn-global-settings}'
+ mvn-settings: '{mvn-settings}'
+ mvn-staging-id: '{mvn-staging-id}'
- autorelease-get-integration-test-variables
- autorelease-maven-sources:
opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
maven-version: '{mvn-version}'
- settings: 'autorelease-settings'
- global-settings: 'global-settings'
+ settings: '{mvn-settings}'
+ global-settings: '{mvn-global-settings}'
- shell: |
mkdir -p archives/
cp *.log *.prop $_
######################
cron: 'H 0 * * *'
+ disable-job: 'false'
#####################
# Job configuration #
project-type: freestyle
node: centos7-builder-2c-2g
+ disabled: '{disable-job}'
properties:
- lf-infra-properties:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
choosing-strategy: default
######################
cron: '@weekly'
+ disable-job: 'false'
#####################
# Job configuration #
project-type: freestyle
node: centos7-builder-2c-1g
+ disabled: '{disable-job}'
properties:
- lf-infra-properties:
branch: master
refspec: 'refs/heads/master'
jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
choosing-strategy: default
gerrit-user: 'jenkins-$SILO'
gerrit-host: 'git.opendaylight.org'
gerrit-topic: 'autorelease-update-validate-jobs-{stream}'
- gerrit-commit-message: |
- 'Update validate autorelease projects for {stream}'
+ gerrit-commit-message: 'Update validate-ar jobs for {stream}'
reviewers-email: 'jenkins-releng@opendaylight.org'
publishers:
- lf-infra-publish
- job-template:
- name: autorelease-version-bump-{stream}
+ name: autorelease-version-bump-{stream}-{mvn-version}-{java-version}
+
+ #####################
+ # Default variables #
+ #####################
+
+ mvn-global-settings: global-settings
+ mvn-settings: autorelease-settings
+ mvn-version: mvn35
+ disable-job: 'false'
+
+ #####################
+ # Job configuration #
+ #####################
+
project-type: freestyle
node: '{build-node}'
+ disabled: '{disable-job}'
properties:
- opendaylight-infra-properties:
and artifacts are not pushed to Nexus. Instead the build will be
performed using the goals "clean install".
- maven-exec:
- maven-version: mvn35
+ maven-version: '{mvn-version}'
scm:
- lf-infra-gerrit-scm:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
choosing-strategy: default
builders:
- lf-infra-pre-build
# force jenkins install of maven version before any shell scripts use it
- - maven-target:
- maven-version: mvn35
- goals: '-version'
- settings: autorelease-settings
- settings-type: cfp
- global-settings: global-settings
- global-settings-type: cfp
- - autorelease-cfp
+ - lf-update-java-alternatives:
+ java-version: "{java-version}"
+ - lf-maven-install:
+ mvn-version: '{mvn-version}'
+ - lf-provide-maven-settings:
+ global-settings-file: '{mvn-global-settings}'
+ settings-file: '{mvn-settings}'
- shell: !include-raw-escape:
- version-bump.sh
######################
# Default parameters #
######################
+ disable-job: 'false'
gerrit_merge_triggers:
- comment-added-contains-event:
project-type: freestyle
node: centos7-builder-2c-8g
+ disabled: '{disable-job}'
properties:
- lf-infra-properties:
lftools-version: '{lftools-version}'
- string:
name: RELEASE
- description: Release to generate release notes for.
-
+ description: |
+ Release to generate release notes for.
+ Eg. Sodium-SR1, Magnesium-SR2...
scm:
- lf-infra-gerrit-scm:
git-url: '$GIT_URL/$GERRIT_PROJECT'
branch: '$GERRIT_BRANCH'
refspec: '$GERRIT_REFSPEC'
jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
choosing-strategy: default
- job-template:
name: '{project-name}-validate-autorelease-{stream}'
- ############
- # Defaults #
- ############
+ #####################
+ # Default variables #
+ #####################
java-version: openjdk8
+ mvn-global-settings: global-settings
+ mvn-settings: autorelease-settings
+ mvn-version: mvn35
+ disable-job: 'false'
#####################
# Job Configuration #
#####################
- disabled: false
project-type: freestyle
# Note: This NEEDS to be hardcoded as projects should NOT be allowed to
# override the build node.
node: centos7-builder-2c-8g
concurrent: true
jdk: '{java-version}'
+ disabled: '{disable-job}'
properties:
- lf-infra-properties:
# to enable building in a single maven reactor afterwards.
- autorelease-fix-relative-paths
- maven-target:
- maven-version: mvn35
+ maven-version: '{mvn-version}'
pom: validate-pom.xml
goals: |
clean install dependency:tree
{opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx8g'
- settings: autorelease-settings
+ settings: '{mvn-settings}'
settings-type: cfp
- global-settings: global-settings
+ global-settings: '{mvn-global-settings}'
global-settings-type: cfp
- maven-target:
- maven-version: mvn35
+ maven-version: '{mvn-version}'
pom: pom.xml
goals: |
clean validate
-Pq
{opendaylight-infra-mvn-opts}
java-opts:
- - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: autorelease-settings
+ - '-Xmx8g -Dmaven.compile.fork=true'
+ settings: '{mvn-settings}'
settings-type: cfp
- global-settings: global-settings
+ global-settings: '{mvn-global-settings}'
global-settings-type: cfp
- shell: |
mkdir -p archives/