project-name: packaging
jobs:
- - '{project-name}-verify-python-{stream}'
+ - '{project-name}-verify-tox-master'
- 'packaging-build-rpm-{stream}'
- 'packaging-build-rpm-snap-{stream}'
- 'packaging-build-deb-{stream}'
- - 'packaging-test-rpm-{stream}'
- - 'packaging-test-puppet-{stream}'
+ - 'packaging-verify-full-rpm-master'
+ - 'packaging-verify-rpm-master'
+ - 'packaging-test-rpm-master'
+ - 'packaging-test-rpm-upgrade-master'
+ - 'packaging-test-deb-master'
project: 'integration/packaging'
stream:
- - master:
- branch: 'master'
+ - carbon
+ - nitrogen
+ - oxygen
+ branch: 'master'
+
+ # common parameters required for 'lf-infra-deploy-maven-file' builder
+ group-id: 'org.opendaylight.integration-packaging'
+ upload-files-dir: '$WORKSPACE/upload_files'
+ maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
- job-template:
- name: 'packaging-test-puppet-{stream}'
+ name: 'packaging-build-rpm-{stream}'
- node: centos7-docker-2c-4g
+ node: centos7-java-builder-2c-4g
project-type: freestyle
+ mvn-opts: ''
+ mvn-params: ''
+ mvn-version: mvn33
+
properties:
- opendaylight-infra-properties:
build-days-to-keep: 7
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
+ - lf-infra-maven-parameters:
+ mvn-opts: '{mvn-opts}'
+ mvn-params: '{mvn-params}'
+ mvn-version: '{mvn-version}'
+ staging-profile-id: ''
+ - string:
+ name: DOWNLOAD_URL
+ # yamllint disable-line rule:line-length
+ default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz'
+ description: 'URL to ODL tarball artifact to repackage into RPM'
+ - string:
+ name: CHANGELOG_NAME
+ default: 'Jenkins'
+ description: 'Name of person who defined RPM'
+ - string:
+ name: CHANGELOG_EMAIL
+ default: 'jenkins-donotreply@opendaylight.org'
+ description: 'Email of person who defined RPM'
scm:
- integration-gerrit-scm:
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: include-raw-test-puppet.sh
+ - shell: !include-raw: build-rpm.sh
+ - lf-infra-deploy-maven-file:
+ global-settings-file: 'global-settings'
+ settings-file: 'packaging-settings'
+ mvn-version: '{mvn-version}'
+ repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
+ group-id: '{group-id}'
+ upload-files-dir: '{upload-files-dir}'
+ maven-repo-url: '{maven-repo-url}'
+
+ publishers:
+ - lf-infra-publish
- triggers:
- - timed: '@daily'
- job-template:
- name: 'packaging-build-rpm-{stream}'
+ name: 'packaging-build-rpm-snap-{stream}'
node: centos7-java-builder-2c-4g
project-type: freestyle
+ mvn-opts: ''
+ mvn-params: ''
+ mvn-version: mvn33
+
properties:
- opendaylight-infra-properties:
build-days-to-keep: 7
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- - string:
- name: DOWNLOAD_URL
- # yamllint disable-line rule:line-length
- default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz'
- description: 'URL to ODL tarball artifact to repackage into RPM'
- - string:
- name: SYSD_COMMIT
- default: '07f7c83b0ef46ad3809e5be03e09a77fe554eeae'
- description: 'Version of ODL systemd unitfile to download and package in ODL RPM'
- - string:
- name: CHANGELOG_DATE
- default: 'Sun Aug 25 1991'
- description: 'Date this RPM was defined'
+ - lf-infra-maven-parameters:
+ mvn-opts: '{mvn-opts}'
+ mvn-params: '{mvn-params}'
+ mvn-version: '{mvn-version}'
+ staging-profile-id: ''
- string:
name: CHANGELOG_NAME
default: 'Jenkins'
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: include-raw-build-rpm.sh
+ - shell: !include-raw: build-rpm-snap.sh
+ - lf-infra-deploy-maven-file:
+ global-settings-file: 'global-settings'
+ settings-file: 'packaging-settings'
+ mvn-version: '{mvn-version}'
+ repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
+ group-id: '{group-id}'
+ upload-files-dir: '{upload-files-dir}'
+ maven-repo-url: '{maven-repo-url}'
+
+ triggers:
+ - timed: '@daily'
publishers:
- - archive-artifacts:
- artifacts: '**/*.rpm'
+ - lf-infra-publish
+
- job-template:
- name: 'packaging-build-rpm-snap-{stream}'
+ name: 'packaging-verify-rpm-master'
node: centos7-java-builder-2c-4g
project-type: freestyle
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
+ parameters:
+ - opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'packaging'
+ refspec: '$GERRIT_REFSPEC'
+ branch: 'master'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ # TODO: Install/test each RPM? Will require builder script changes.
+ # Test Nitrogen tarball
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test Nitrogen multipatch zip (no parallel tarball available)
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.1-SNAPSHOT/karaf-0.7.1-20171009.081353-13.zip'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test latest Nitrogen snapshot
+ - inject:
+ properties-content: 'STREAM=nitrogen'
+ - shell: !include-raw: build-rpm-snap.sh
+
+ triggers:
+ - gerrit:
+ server-name: '{server-name}'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'packages/**'
+
+ publishers:
+ - lf-infra-publish
+
+
+- job-template:
+ name: 'packaging-verify-full-rpm-master'
+
+ node: centos7-java-builder-2c-4g
+
+ project-type: freestyle
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'packaging'
+ refspec: '$GERRIT_REFSPEC'
+ branch: 'master'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ # TODO: Install/test each RPM. Will require builder script changes.
+ # Test Carbon SR1 tarball
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test Carbon multipatch zip (no parallel tarball available)
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20171009.100453-60.zip'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test latest Carbon snapshot
+ - inject:
+ properties-content: 'STREAM=carbon'
+ - shell: !include-raw: build-rpm-snap.sh
+
+ # Test Nitrogen tarball
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test Nitrogen multipatch zip (no parallel tarball available)
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.1-SNAPSHOT/karaf-0.7.1-20171009.081353-13.zip'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test latest Nitrogen snapshot
+ - inject:
+ properties-content: 'STREAM=nitrogen'
+ - shell: !include-raw: build-rpm-snap.sh
+
+ # Test Oxygen tarball
+ # TODO: Change this to an autorelease build once available
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20171009.114003-676.tar.gz'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test Oxygen multipatch zip (no parallel tarball available)
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20171004.132827-33.zip'
+ - shell: !include-raw: build-rpm.sh
+
+ # Test latest Oxygen snapshot
+ - inject:
+ properties-content: 'STREAM=oxygen'
+ - shell: !include-raw: build-rpm-snap.sh
+
+ triggers:
+ - timed: '@daily'
+ - gerrit:
+ server-name: '{server-name}'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'verify-rpm-full'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+
+ publishers:
+ - lf-infra-publish
+
+
+- job-template:
+ name: 'packaging-test-rpm-master'
+
+ node: centos7-java-builder-2c-4g
+
+ parameters:
+ - opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- string:
- name: VERSION_MAJOR
- default: '5'
- description: 'OpenDaylight major (element) version number to build'
- - string:
- name: VERSION_MINOR
- default: '2'
- description: 'OpenDaylight minor (SR) version number to build'
- - string:
- name: SYSD_COMMIT
- default: '07f7c83b0ef46ad3809e5be03e09a77fe554eeae'
- description: 'Version of ODL systemd unitfile to download and package in ODL RPM'
- - string:
- name: CHANGELOG_NAME
- default: 'Jenkins'
- description: 'Name of person who defined RPM'
- - string:
- name: CHANGELOG_EMAIL
- default: 'jenkins-donotreply@opendaylight.org'
- description: 'Email of person who defined RPM'
+ name: URL
+ # yamllint disable-line rule:line-length
+ default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-60-release.repo'
+ description: 'Link to .repo or .rpm file'
scm:
- integration-gerrit-scm:
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: include-raw-build-rpm-snap.sh
+ - shell: !include-raw: install-rpm.sh
+ - shell: !include-raw: start-odl.sh
+ - shell: |
+ # Install expect to interact with Karaf shell
+ sudo yum install -y expect
+ # Install nmap to check status of ODL's SSH port
+ sudo yum install -y nmap
+ - shell: !include-raw: test-karaf.expect
+ - shell: !include-raw: stop-odl.sh
publishers:
- - archive-artifacts:
- artifacts: '**/*.rpm'
+ # TODO: Remove the archive publisher
+ # small data should be stored on logs.opendaylight.org
+ # large data should be stored on nexus.opendaylight.org
+ - archive:
+ artifacts: '**'
+ allow-empty: true
+ fingerprint: true
+ latest-only: true
+ - lf-infra-publish
+
- job-template:
- name: 'packaging-test-rpm-{stream}'
+ name: 'packaging-test-rpm-upgrade-master'
node: centos7-java-builder-2c-4g
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- string:
name: URL
# yamllint disable-line rule:line-length
- default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-51-release.repo'
+ default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-6-release.repo'
description: 'Link to .repo or .rpm file'
- string:
- name: REPO_FILE
- default: '/etc/yum.repos.d/opendaylight-51-release.repo'
- description: 'Name of the .repo file'
+ name: UPGRADE_URL
+ # yamllint disable-line rule:line-length
+ default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-6-testing.repo'
+ description: 'Link to .repo or .rpm file'
scm:
- integration-gerrit-scm:
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: include-raw-test-rpm.sh
- - shell: !include-raw: include-raw-test-karaf.sh
+ - shell: !include-raw: install-rpm.sh
+ - shell: !include-raw: start-odl.sh
+ - shell: |
+ # Install expect to interact with Karaf shell
+ sudo yum install -y expect
+ # Install nmap to check status of ODL's SSH port
+ sudo yum install -y nmap
+ - shell: !include-raw: test-karaf.expect
+ - shell: !include-raw: stop-odl.sh
+ - shell: !include-raw: test-rpm-upgrade.sh
+ - shell: !include-raw: start-odl.sh
+ - shell: !include-raw: test-karaf.expect
+ - shell: !include-raw: stop-odl.sh
publishers:
- - archive-artifacts:
- artifacts: '**'
+ - lf-infra-publish
+
+
+- job-template:
+ name: 'packaging-test-deb-master'
+
+ node: ubuntu1604-mininet-ovs-25-2c-4g
+
+ parameters:
+ - opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+ - string:
+ name: PACKAGE
+ default: 'ppa:odl-team/carbon'
+ description: 'Link to .deb package or name of PPA repo'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'packaging'
+ refspec: '$GERRIT_REFSPEC'
+ branch: 'master'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ - shell: !include-raw: install-deb.sh
+ - shell: !include-raw: start-odl.sh
+ - shell: |
+ # Install expect to interact with Karaf shell
+ sudo apt-get install -y expect
+ # Install nmap to check status of ODL's SSH port
+ sudo apt-get install -y nmap
+ - shell: !include-raw: test-karaf.expect
+ - shell: !include-raw: stop-odl.sh
+
+ publishers:
+ - lf-infra-publish
+
- job-template:
name: 'packaging-build-deb-{stream}'
- node: ubuntu-trusty-mininet-2c-2g
+ node: ubuntu1604-mininet-ovs-25-2c-4g
project-type: freestyle
+ mvn-opts: ''
+ mvn-params: ''
+ mvn-version: mvn33
+
properties:
- opendaylight-infra-properties:
build-days-to-keep: 7
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- - string:
- name: VERSION_MAJOR
- default: '5'
- description: 'OpenDaylight major (element) version number to build'
- - string:
- name: VERSION_MINOR
- default: '0'
- description: 'OpenDaylight minor (SR) version number to build'
- - string:
- name: VERSION_PATCH
- default: '0'
- description: 'OpenDaylight patch version to build'
- - string:
- name: PKG_VERSION
- default: '1'
- description: 'Deb version for the given ODL major.minor.patch'
- - string:
- name: SYSD_COMMIT
- default: '07f7c83b0ef46ad3809e5be03e09a77fe554eeae'
- description: 'Version of ODL systemd unitfile to download and package in ODL .deb'
- - string:
- name: CODENAME
- default: 'Boron'
- description: 'Elemental codename for the ODL release, including SR if applicable'
+ - lf-infra-maven-parameters:
+ mvn-opts: '{mvn-opts}'
+ mvn-params: '{mvn-params}'
+ mvn-version: '{mvn-version}'
+ staging-profile-id: ''
- string:
name: DOWNLOAD_URL
+ # FIXME: Update the default value to an active stream.
# yamllint disable-line rule:line-length
- default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz'
+ default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
description: 'URL to ODL tarball artifact to repackage into .deb'
- - string:
- name: JAVA_VERSION
- default: '8'
- description: Java dependency for the ODL release
- - string:
- name: CHANGELOG_DATE
- default: 'Mon, 1 Aug 2016'
- description: 'Date this .deb was defined'
- - string:
- name: CHANGELOG_TIME
- default: '17:48:42 +0530'
- description: 'Time this .deb was defined'
- string:
name: CHANGELOG_NAME
default: 'Jenkins'
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: include-raw-build-deb.sh
+ - shell: !include-raw: build-deb.sh
+ - lf-infra-deploy-maven-file:
+ global-settings-file: 'global-settings'
+ settings-file: 'packaging-settings'
+ mvn-version: '{mvn-version}'
+ repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
+ group-id: '{group-id}'
+ upload-files-dir: '{upload-files-dir}'
+ maven-repo-url: '{maven-repo-url}'
publishers:
- - archive-artifacts:
- artifacts: 'packaging/deb/opendaylight/*.deb'
+ - lf-infra-publish