X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fpackaging%2Fpackaging.yaml;h=53cc9f58f4c86c663fbb3b33ffe488930b2d5627;hb=0689afdd44b66e3dfe76b247131b1a96c96bc487;hp=a0179ae24b16ccda573a481cedba0ea66ce711f3;hpb=0b290ff2492a82c6aab09a1ef5ea99dd6aa3e805;p=releng%2Fbuilder.git diff --git a/jjb/packaging/packaging.yaml b/jjb/packaging/packaging.yaml index a0179ae24..53cc9f58f 100644 --- a/jjb/packaging/packaging.yaml +++ b/jjb/packaging/packaging.yaml @@ -1,660 +1,43 @@ --- - project: - name: packaging + name: packaging-maven-docker-jobs project-name: packaging - + project: integration/packaging + container-public-registry: nexus3.opendaylight.org:10001 + container-snapshot-registry: nexus3.opendaylight.org:10003 + container-staging-registry: nexus3.opendaylight.org:10004 + staging-profile-id: "" + mvn-settings: packaging-settings + mvn-snapshot-id: packaging-snapshots + nexus-snapshot-repo: opendaylight-snapshots + tox-dir: "$WORKSPACE" + pre_docker_build_script: "$WORKSPACE/odl-docker/install_docker.sh" + docker-name: odl-docker + docker-root: "$WORKSPACE/odl-docker" + build-node: centos7-docker-4c-4g + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: "$WORKSPACE/.*" 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-{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: - branch: master - stream: master - - project: 'integration/packaging' - + - gerrit-docker-verify: + - gerrit-docker-merge: + post_docker_build_script: | + #!/bin/bash + set -uex -o pipefail + set -x + DOCKER_IMAGE_TAG2=${{DOCKER_IMAGE_TAG%-*}} + DNAME={container-snapshot-registry}/{docker-name} + docker tag $DNAME:$DOCKER_IMAGE_TAG $DNAME:$DOCKER_IMAGE_TAG2 + docker tag $DNAME:$DOCKER_IMAGE_TAG $DNAME:latest + docker push $DNAME:$DOCKER_IMAGE_TAG2 + docker push $DNAME:latest + - gerrit-maven-docker-stage: + mvn-params: "-Dmaven.test.skip install exec:exec -Pbuild-docker" + maven-versions-plugin: true + sign-artifacts: true stream: - - neon - - fluorine - - oxygen: - disable-job: 'true' - - distro: - - opensuse-42 - - epel-7 - 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-build-rpm-{stream}' - - disable-job: false - - node: centos7-builder-2c-2g - - project-type: freestyle - disabled: '{disable-job}' - - 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/karaf/0.8.4/karaf-0.8.4.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' - - 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: - basedir: 'packaging' - refspec: '$GERRIT_REFSPEC' - branch: 'master' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - builders: - - lf-infra-pre-build - - 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: '$DEPLOY_TO_REPO' - group-id: '{group-id}' - upload-files-dir: '{upload-files-dir}' - maven-repo-url: '{maven-repo-url}' - - publishers: - - lf-infra-publish - - -- job-template: - name: 'packaging-build-rpm-{distro}-snap-{stream}' - - node: centos7-docker-2c-2g - disable-job: false - - project-type: freestyle - disabled: '{disable-job}' - - 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: 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: - basedir: 'packaging' - refspec: '$GERRIT_REFSPEC' - branch: 'master' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - builders: - - lf-infra-pre-build - - inject: - 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}-{distro}-x86_64-devel' - group-id: '{group-id}' - upload-files-dir: '{upload-files-dir}' - maven-repo-url: '{maven-repo-url}' - - triggers: - - timed: '@daily' - - publishers: - - lf-infra-publish - - -- job-template: - name: 'packaging-verify-rpm-master' - - node: centos7-builder-2c-2g - disable-job: false - - project-type: freestyle - disabled: '{disable-job}' - - 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: - # Test Oxygen SR4 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.8.4/karaf-0.8.4.tar.gz' - - shell: !include-raw-escape: build-rpm.sh - - install-test-uninstall-rpm - - # 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/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 Fluorine SR1 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.9.1/karaf-0.9.1.tar.gz' - - shell: !include-raw-escape: build-rpm.sh - - install-test-uninstall-rpm - - # 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-2620/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 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.10.0-SNAPSHOT/karaf-0.10.0-20190103.173010-50.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: - - timed: '@weekly' - - gerrit-trigger-patch-submitted: - gerrit-server-name: '{gerrit-server-name}' - project: '{project}' - branch: '{branch}' - files: 'packages/**' - forbidden-files: '' - - publishers: - - lf-infra-publish - - -- job-template: - name: 'packaging-verify-full-rpm-master' - - node: centos7-builder-2c-2g - disable-job: false - - project-type: freestyle - disabled: '{disable-job}' - - 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: - # Test Oxygen SR4 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.8.4/karaf-0.8.4.tar.gz' - - shell: !include-raw-escape: build-rpm.sh - - install-test-uninstall-rpm - - # 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/autorelease-2622/org/opendaylight/integration/karaf/0.8.5/karaf-0.8.5.tar.gz' - # - shell: !include-raw-escape: build-rpm.sh - # - install-test-uninstall-rpm - - # Test latest Oxygen snapshot - - inject: - properties-content: 'STREAM=oxygen' - - shell: !include-raw: build-rpm-snap.sh - - install-test-uninstall-rpm - - # 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/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 Fluorine SR1 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.9.1/karaf-0.9.1.tar.gz' - - shell: !include-raw-escape: build-rpm.sh - - install-test-uninstall-rpm - - # 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/autorelease-2621/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz' - # - shell: !include-raw-escape: build-rpm.sh - # - install-test-uninstall-rpm - - # 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.9.2-SNAPSHOT/karaf-0.9.2-20181222.162905-8.zip' - # - shell: !include-raw-escape: build-rpm.sh - # - install-test-uninstall-rpm - - # Test latest Fluorine snapshot - - inject: - properties-content: 'STREAM=fluorine' - - shell: !include-raw: build-rpm-snap.sh - - install-test-uninstall-rpm - - # 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-2620/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.g' - # - shell: !include-raw-escape: build-rpm.sh - # - install-test-uninstall-rpm - - # 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.10.0-SNAPSHOT/karaf-0.10.0-20190103.173010-50.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: - - timed: '@weekly' - - gerrit: - server-name: '{gerrit-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-builder-2c-2g - disable-job: false - - disabled: '{disable-job}' - - parameters: - - opendaylight-infra-parameters: - os-cloud: '{os-cloud}' - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - 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-9-devel.repo' - description: 'Link to .repo or .rpm file' - - scm: - - integration-gerrit-scm: - basedir: 'packaging' - refspec: '$GERRIT_REFSPEC' - branch: 'master' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - builders: - - shell: | - # Install expect to interact with Karaf shell - # Install nmap to check status of ODL's SSH port - 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 - - triggers: - - timed: '@monthly' - - publishers: - # 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-upgrade-master' - - disable-job: false - - node: centos7-builder-2c-2g - disabled: '{disable-job}' - - 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: - # 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: - - timed: '@weekly' - - gerrit-trigger-patch-submitted: - gerrit-server-name: '{gerrit-server-name}' - project: '{project}' - branch: '{branch}' - files: 'packages/**' - forbidden-files: '' - - publishers: - - lf-infra-publish - - -- job-template: - name: 'packaging-test-deb-master' - - node: ubuntu1604-mininet-ovs-25-1c-4g - disable-job: false - - disabled: '{disable-job}' - - 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/oxygen' - 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-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 - # Install nmap to check status of ODL's SSH port - 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 - - triggers: - - timed: '@monthly' - - publishers: - - lf-infra-publish - - -- job-template: - name: 'packaging-build-deb-{stream}' - - node: ubuntu1604-mininet-ovs-25-1c-4g - disable-job: false - - project-type: freestyle - disabled: '{disable-job}' - - 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 - # FIXME: Update the default value to an active stream. - # yamllint disable-line rule:line-length - 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: CHANGELOG_NAME - default: 'Jenkins' - description: 'Name of person who defined .deb' - - string: - 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: - basedir: 'packaging' - refspec: '$GERRIT_REFSPEC' - branch: 'master' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - builders: - - lf-infra-pre-build - - shell: !include-raw: build-deb.sh - - install-test-uninstall-deb - - 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}' - - triggers: - - timed: '@monthly' - - publishers: - - lf-infra-publish + - master: + branch: "master" - project: name: packaging-view