- job-template: name: '{project-name}-release-java' # Job template for producing a release candidate by creating a staging repo # in Nexus. project-type: maven node: '{build-node}' jdk: '{jdk}' logrotate: daysToKeep: '30' parameters: - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - build-tag - stage-id-parameter: stage-id: '{stage-id}' scm: - git: credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' branches: - '$BUILD_TAG' skip-tag: true shallow-clone: true wipe-workspace: true wrappers: - opendaylight-infra-wrappers: build-timeout: '{build-timeout}' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: 'odl-global-settings' settings-file: 'autorelease-settings' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' settings: 'autorelease-settings' global-settings: 'odl-global-settings' post-step-run-condition: UNSTABLE postbuilders: - releng-stage-release publishers: - archive-artifacts: artifacts: '*.log' - email-notification: email-prefix: '[releng]' - job-template: name: '{project-name}-publish-p2repo' # Job template for publishing a p2 repo given a URL to a zipped p2repo. project-type: maven node: '{build-node}' jdk: '{jdk}' parameters: - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - p2zip-parameter wrappers: - opendaylight-infra-wrappers: build-timeout: '{build-timeout}' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - releng-fetch-p2zip-if-necessary: maven-version: '{mvn33}' settings: '{project-settings}' global-settings: 'odl-global-settings' - releng-generate-p2pom maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r' settings: '{project-settings}' global-settings: 'odl-global-settings' post-step-run-condition: UNSTABLE postbuilders: - releng-update-p2composite-metadata: maven-version: '{mvn33}' settings: '{project-settings}' global-settings: 'odl-global-settings' publishers: - email-notification: email-prefix: '[releng]' # Python Related - job-template: name: '{project-name}-verify-python-{stream}' # Job template for python verify jobs # # The purpose of this job template is to run tox for projects using this # template. # # Required Variables: # stream: release stream (eg. stable-lithium or beryllium) # branch: git branch (eg. stable/lithium or master) # toxdir: directory containing the project's tox.ini relative to # the workspace. project-type: freestyle node: '{build-node}' concurrent: true logrotate: daysToKeep: '7' numToKeep: '-1' artifactDaysToKeep: '-1' artifactNumToKeep: '-1' parameters: - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: - git: credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' basedir: 'repo' refspec: '$GERRIT_REFSPEC' branches: - 'origin/$GERRIT_BRANCH' skip-tag: true choosing-strategy: 'gerrit' wrappers: - opendaylight-infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit: server-name: 'OpenDaylight' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'false' exclude-no-code-change: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: '{toxdir}/**' builders: - shell: | virtualenv $WORKSPACE/venv-tox source $WORKSPACE/venv-tox/bin/activate pip install --upgrade pip pip install --upgrade tox argparse pip freeze cd $WORKSPACE/repo/{toxdir} tox publishers: - email-notification: email-prefix: '[{project}]' - job-template: name: '{project-name}-merge-rtd-{stream}' # Template for ReadTheDocs triggering project-type: freestyle node: '{build-node}' concurrent: false parameters: - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' wrappers: - opendaylight-infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit-trigger-patch-merged: name: '{project}' branch: '{branch}' builders: - shell: | curl -X POST https://readthedocs.org/build/{rtdproject} publishers: - email-notification: email-prefix: '[{project}]' # Node related - job-template: name: '{project-name}-verify-node-{stream}' # Job template for python verify jobs # # The purpose of this job template is to run node tests for projects using # this template. It uses python virtualenv to install nodeenv and create a # virtualenv for nodejs. # # Required Variables: # stream: release stream (eg. stable-lithium or beryllium) # branch: git branch (eg. stable/lithium or master) # nodedir: directory of nodejs project to run node test against # nodever: version of node to install in virtualenv project-type: freestyle node: '{build-node}' concurrent: true logrotate: daysToKeep: '7' numToKeep: '-1' artifactDaysToKeep: '-1' artifactNumToKeep: '-1' parameters: - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: - git: credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' basedir: 'repo' refspec: '$GERRIT_REFSPEC' branches: - 'origin/$GERRIT_BRANCH' skip-tag: true choosing-strategy: 'gerrit' wrappers: - opendaylight-infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit: server-name: 'OpenDaylight' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'false' exclude-no-code-change: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: '{nodedir}/**' builders: - shell: | #!/bin/bash # Prepare Python virtualenv $WORKSPACE/venv-python source $WORKSPACE/venv-python/bin/activate pip install --upgrade pip pip install --upgrade tox argparse nodeenv pip freeze # Prepare node nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node source $WORKSPACE/venv-node/bin/activate cd $WORKSPACE/repo/{nodedir} npm install npm test publishers: - email-notification: email-prefix: '[{project}]'