X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fpackaging%2Fpackaging.yaml;h=341138af62316c57b502b5af984c12eb5a39c163;hb=0209f258540405a719e0bf9d89bfc9e7ebf9d647;hp=1dfc0663fe02180021ecea5f4f7d0c00047f682b;hpb=adf066a0a9e6202a0728ffb17222c316376df095;p=releng%2Fbuilder.git diff --git a/jjb/packaging/packaging.yaml b/jjb/packaging/packaging.yaml index 1dfc0663f..516c5b572 100644 --- a/jjb/packaging/packaging.yaml +++ b/jjb/packaging/packaging.yaml @@ -4,22 +4,33 @@ project-name: packaging jobs: + - '{project-name}-rtd-jobs': + build-node: centos7-builder-2c-2g + doc-dir: .tox/docs/tmp/html + project-pattern: integration/packaging + rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationpackaging/32928/ + rtd-token: 371d63c43ad99b0745bb7779e3488c5e255c1180 - 'packaging-build-rpm-{stream}' - - 'packaging-build-rpm-snap-{stream}' + - 'packaging-build-rpm-{distro}-snap-{stream}' - 'packaging-build-deb-{stream}' - 'packaging-verify-full-rpm-master' - 'packaging-verify-rpm-master' - 'packaging-test-rpm-master' - 'packaging-test-rpm-upgrade-master' - 'packaging-test-deb-master' - - gerrit-tox-verify + - gerrit-tox-verify: + branch: master + stream: master project: 'integration/packaging' stream: - - carbon - - nitrogen + - neon + - fluorine - oxygen + distro: + - opensuse-42 + - epel-7 branch: 'master' # common parameters required for 'lf-infra-deploy-maven-file' builder @@ -30,7 +41,7 @@ - job-template: name: 'packaging-build-rpm-{stream}' - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-2g project-type: freestyle @@ -57,7 +68,7 @@ - string: name: DOWNLOAD_URL # yamllint disable-line rule:line-length - default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz' + default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz' description: 'URL to ODL tarball artifact to repackage into RPM' - string: name: CHANGELOG_NAME @@ -67,6 +78,14 @@ name: CHANGELOG_EMAIL default: 'jenkins-donotreply@opendaylight.org' description: 'Email of person who defined RPM' + - string: + name: DEPLOY_TO_REPO + default: 'opendaylight-{stream}-epel-7-x86_64-devel' + description: 'Repository to deploy resulting package to' + - string: + name: PKG_VERSION_OVERRIDE + default: '' + description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)' scm: - integration-gerrit-scm: @@ -79,24 +98,13 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: build-rpm.sh - - shell: !include-raw: test-rpm-deps.sh - - inject: - properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm' - - 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-escape: build-rpm.sh + - install-test-uninstall-rpm - 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' + repo-id: '$DEPLOY_TO_REPO' group-id: '{group-id}' upload-files-dir: '{upload-files-dir}' maven-repo-url: '{maven-repo-url}' @@ -106,9 +114,9 @@ - job-template: - name: 'packaging-build-rpm-snap-{stream}' + name: 'packaging-build-rpm-{distro}-snap-{stream}' - node: centos7-java-builder-1c-4g + node: centos7-docker-2c-2g project-type: freestyle @@ -153,14 +161,16 @@ builders: - inject: - properties-content: 'STREAM={stream}' - - shell: !include-raw: build-rpm-snap.sh - - shell: !include-raw: test-rpm-deps.sh + properties-content: | + STREAM={stream} + DISTRO={distro} + - shell: !include-raw: build-rpm-snap-docker.sh + - shell: !include-raw: test-rpm-docker.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' + repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel' group-id: '{group-id}' upload-files-dir: '{upload-files-dir}' maven-repo-url: '{maven-repo-url}' @@ -175,7 +185,7 @@ - job-template: name: 'packaging-verify-rpm-master' - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-2g project-type: freestyle @@ -198,42 +208,49 @@ build-timeout: '{build-timeout}' builders: - # TODO: Install/test each RPM? Will require builder script changes. - # Test Nitrogen tarball + # Test Oxygen SR3 release 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 + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Oxygen pre-release autorelease tarball + # Test Fluorine ('Managed Release Common Distro') release tarball - inject: # yamllint disable-line rule:line-length - properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Oxygen multipatch zip (no parallel tarball available) + # Test Neon pre-release autorelease tarball + # NB: This will need to be updated as old builds expire - 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-20171128.175421-68.zip' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2473/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test latest Oxygen snapshot + # Test Neon multipatch zip (no parallel tarball available) + # NB: This will need to be updated as old builds expire - inject: - properties-content: 'STREAM=oxygen' + # 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.10.0-SNAPSHOT/karaf-0.10.0-20181106.150120-17.zip' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test latest Neon snapshot + - inject: + properties-content: 'STREAM=neon' - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm triggers: - - gerrit: - server-name: '{gerrit-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/**' + - gerrit-trigger-patch-submitted: + gerrit-server-name: '{gerrit-server-name}' + project: '{project}' + branch: '{branch}' + files: 'packages/**' + forbidden-files: '' publishers: - lf-infra-publish @@ -242,7 +259,7 @@ - job-template: name: 'packaging-verify-full-rpm-master' - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-2g project-type: freestyle @@ -265,63 +282,77 @@ build-timeout: '{build-timeout}' builders: - # TODO: Install/test each RPM. Will require builder script changes. - # Test Carbon SR2 tarball + # Test Oxygen SR3 release 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.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Carbon multipatch zip (no parallel tarball available) + # Test Oxygen pre-release autorelease tarball + # NB: This will need to be updated as old builds expire - 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.3-SNAPSHOT/distribution-karaf-0.6.3-20171128.221258-1.zip' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2472/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test latest Carbon snapshot + # Test latest Oxygen snapshot - inject: - properties-content: 'STREAM=carbon' + properties-content: 'STREAM=oxygen' - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm - # Test Nitrogen tarball + # Test Fluorine ('Managed Release Common Distro') release 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 + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Nitrogen SR1 tarball + # Test Fluorine pre-release autorelease tarball + # NB: This will need to be updated as old builds expire - 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.1/karaf-0.7.1.tar.gz' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2474/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Nitrogen multipatch zip (no parallel tarball available) + # Test Fluorine multipatch zip (no parallel tarball available) + # NB: This will need to be updated as old builds expire - 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.2-SNAPSHOT/karaf-0.7.2-20171128.223150-2.zip' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.1-SNAPSHOT/karaf-0.9.1-20181023.120116-10.zip' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test latest Nitrogen snapshot + # Test latest Fluorine snapshot - inject: - properties-content: 'STREAM=nitrogen' + properties-content: 'STREAM=fluorine' - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm - # Test Oxygen pre-release autorelease tarball + # Test Neon pre-release autorelease tarball + # NB: This will need to be updated as old builds expire - inject: # yamllint disable-line rule:line-length - properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2473/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test Oxygen multipatch zip (no parallel tarball available) + # Test Neon multipatch zip (no parallel tarball available) + # NB: This will need to be updated as old builds expire - 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-20171128.175421-68.zip' - - shell: !include-raw: build-rpm.sh + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181106.150120-17.zip' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm - # Test latest Oxygen snapshot + # Test latest Neon snapshot - inject: - properties-content: 'STREAM=oxygen' + properties-content: 'STREAM=neon' - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm triggers: - timed: '@daily' @@ -344,7 +375,7 @@ - job-template: name: 'packaging-test-rpm-master' - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-2g parameters: - opendaylight-infra-parameters: @@ -356,7 +387,7 @@ - string: name: URL # yamllint disable-line rule:line-length - default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-8-devel.repo' + default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo' description: 'Link to .repo or .rpm file' scm: @@ -370,15 +401,18 @@ build-timeout: '{build-timeout}' builders: - - 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 + sudo yum install -y expect nmap + - shell: !include-raw-escape: install-rpm.sh + - shell: !include-raw: start-odl.sh + - shell: !include-raw-escape: test-ports-nofeature.sh + - shell: !include-raw: test-karaf-oxygensafe.expect + # Disable this test until ODLPARENT-139 is fixed + # - shell: !include-raw-escape: test-rest-ok.sh - shell: !include-raw: stop-odl.sh + - shell: !include-raw: uninstall-rpm.sh publishers: # TODO: Remove the archive publisher @@ -395,7 +429,7 @@ - job-template: name: 'packaging-test-rpm-upgrade-master' - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-2g parameters: - opendaylight-infra-parameters: @@ -404,16 +438,6 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - string: - name: URL - # yamllint disable-line rule:line-length - default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-release.repo' - description: 'Link to .repo or .rpm file' - - string: - name: UPGRADE_URL - # yamllint disable-line rule:line-length - default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-devel.repo' - description: 'Link to .repo or .rpm file' scm: - integration-gerrit-scm: @@ -426,19 +450,41 @@ build-timeout: '{build-timeout}' builders: - - 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 + # Tests (current and future): + # * Install latest release, stop/uninstall, install latest CD + # * Upgrade from latest release latest CD + # * TODO: Upgrade from latest release to proposed packaging/** logic + # * TODO: Upgrade from CD to proposed packaging/** logic + # * TODO: Upgrade from proposed packaging/** logic (older ODL) to + # proposed packaging logic (latest ODL) + + # Test 1: Install latest release, stop/uninstall, install latest CD + - inject: + # yamllint disable-line rule:line-length + properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo' + - install-start-test-stop-uninstall-rpm + - inject: + # yamllint disable-line rule:line-length + properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo' + - install-start-test-stop-uninstall-rpm + + # Test 2: Install latest release, stop, upgrade to latest CD + - inject: + # yamllint disable-line rule:line-length + properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo' + - install-start-test-stop-rpm + - inject: + # yamllint disable-line rule:line-length + properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo' + - installrepcfg-upgrade-start-test-stop-rpm + + triggers: + - gerrit-trigger-patch-submitted: + gerrit-server-name: '{gerrit-server-name}' + project: '{project}' + branch: '{branch}' + files: 'packages/**' + forbidden-files: '' publishers: - lf-infra-publish @@ -458,7 +504,7 @@ artifacts: '{archive-artifacts}' - string: name: PACKAGE - default: 'ppa:odl-team/carbon' + default: 'ppa:odl-team/oxygen' description: 'Link to .deb package or name of PPA repo' scm: @@ -472,15 +518,18 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: install-deb.sh + - shell: !include-raw-escape: install-deb.sh - shell: !include-raw: start-odl.sh + - shell: !include-raw-escape: test-ports-nofeature.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 + sudo apt-get install -y expect nmap + - shell: !include-raw: test-karaf-oxygensafe.expect + # Disable this test until ODLPARENT-139 is fixed + # - shell: !include-raw-escape: test-rest-ok.sh - shell: !include-raw: stop-odl.sh + - shell: !include-raw-escape: uninstall-deb.sh publishers: - lf-infra-publish @@ -527,6 +576,10 @@ name: CHANGELOG_EMAIL default: 'jenkins-donotreply@opendaylight.org' description: 'Email of person who defined .deb' + - string: + name: PKG_VERSION_OVERRIDE + default: '' + description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)' scm: - integration-gerrit-scm: @@ -540,6 +593,7 @@ builders: - shell: !include-raw: build-deb.sh + - install-test-uninstall-deb - lf-infra-deploy-maven-file: global-settings-file: 'global-settings' settings-file: 'packaging-settings' @@ -551,3 +605,9 @@ publishers: - lf-infra-publish + +- project: + name: packaging-view + views: + - project-view + project-name: packaging