X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-jobs.yaml;h=87f0d9b2a60dc872471afc9ed72ebd940ba302df;hb=3d1692331501d77673683987d98790aa75d81f61;hp=af725dabc9dc26a3f15beee5dfe007ff09c41739;hpb=52531a89be8661dee7ecc0289afed7c5fe51ade9;p=releng%2Fbuilder.git diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml index af725dabc..5c6708198 100644 --- a/jjb/releng-jobs.yaml +++ b/jjb/releng-jobs.yaml @@ -6,23 +6,76 @@ - 'builder-merge' - 'builder-weekly' - 'builder-check-poms' + - 'builder-verify-packer' + - 'builder-merge-packer-{platforms}-{templates}' + # OpenStack Related + - 'builder-delete-stale-stacks' + # Automation for docs and jobs + - 'builder-update-csit-tests' + - 'builder-update-image-list' + + platforms: + - centos + - ubuntu-14.04 + + templates: + - devstack + - devstack-pre-pip-mitaka + - devstack-pre-pip-newton + - docker + - gbp + - java-builder + - mininet + - mininet-ovs-2.3 + - mininet-ovs-2.5 + - robot + + exclude: + - platforms: centos + templates: gbp + - platforms: centos + templates: mininet + - platforms: centos + templates: mininet-ovs-2.3 + - platforms: centos + templates: mininet-ovs-2.5 + - platforms: ubuntu-14.04 + templates: java-builder + - platforms: ubuntu-14.04 + templates: robot + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-mitaka + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-newton + - platforms: ubuntu-14.04 + templates: devstack + - platforms: ubuntu-14.04 + templates: docker + project-type: freestyle + archive-artifacts: '**/*.log' + build-timeout: '60' + # The following two values are only specified here + # so that code blocks look similar to other projects. project: 'releng/builder' + branch: 'master' - job-template: name: builder-verify-jjb - node: jjbuilder + node: centos7-java-builder-2c-4g + concurrent: true project-type: freestyle - logrotate: - daysToKeep: 7 + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - opendaylight-infra-parameters: project: '{project}' - branch: 'master' - refspec: 'refs/heads/master' + branch: '{branch}' + refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: @@ -35,59 +88,50 @@ build-timeout: '{build-timeout}' triggers: - - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - projects: - - project-compare-type: 'ANT' - project-pattern: 'releng/builder' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: jjb/** - - compare-type: ANT - pattern: jjb-templates/** + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: 'jjb/**' builders: + - opendaylight-infra-jjbini - shell: | + virtualenv $WORKSPACE/venv + source $WORKSPACE/venv/bin/activate + pip install --upgrade pip pip freeze + pip install jenkins-job-builder jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/ gzip archives/job_output/* - - releng-check-unicode + - verify-gpg-signature publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' +# FIXME: Migrate to {project-name}-verify-python-{stream} or delete this entirely, +# as there are zero python files (aside docs/conf.py) in releng/builder. - job-template: name: builder-verify-python - node: centos7-java-builder-2c-8g + node: centos7-java-builder-2c-4g + concurrent: true project-type: freestyle - logrotate: - daysToKeep: 7 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - opendaylight-infra-parameters: project: '{project}' - branch: 'master' - refspec: 'refs/heads/master' + branch: '{branch}' + refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: @@ -100,28 +144,14 @@ build-timeout: '{build-timeout}' triggers: - - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - projects: - - project-compare-type: 'ANT' - project-pattern: 'releng/builder' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: scripts/** - + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: 'scripts/**' builders: + - verify-gpg-signature - shell: | virtualenv $WORKSPACE/venv source $WORKSPACE/venv/bin/activate @@ -132,13 +162,14 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: 'builder-merge' - node: jjbuilder + node: centos7-java-builder-2c-4g # builder-merge job to run JJB update # @@ -146,17 +177,15 @@ project-type: freestyle - logrotate: - daysToKeep: 7 - numToKeep: 3 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - opendaylight-infra-parameters: project: '{project}' - branch: 'master' - refspec: 'refs/heads/master' + branch: '{branch}' + refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: @@ -170,7 +199,7 @@ triggers: - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - change-merged-event - comment-added-contains-event: @@ -180,29 +209,33 @@ project-pattern: 'releng/builder' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/master' + branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: jjb/** - - compare-type: ANT - pattern: jjb-templates/** builders: + - opendaylight-infra-jjbini - shell: | + virtualenv $WORKSPACE/venv + source $WORKSPACE/venv/bin/activate + pip install --upgrade pip pip freeze + pip install jenkins-job-builder jenkins-jobs --version jenkins-jobs update --recursive --delete-old --workers 4 jjb/ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: 'builder-weekly' - disabled: true - node: jjbuilder + disabled: false + node: centos7-java-builder-2c-4g # builder-weekly job to run JJB update weekly # @@ -211,22 +244,20 @@ project-type: freestyle - logrotate: - daysToKeep: 7 - numToKeep: 3 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - opendaylight-infra-parameters: project: '{project}' - branch: 'master' - refspec: 'refs/heads/master' + branch: '{branch}' + refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' scm: - git-scm: - branch: 'master' + branch: '{branch}' wrappers: - opendaylight-infra-wrappers: @@ -236,32 +267,37 @@ - timed: 'H H * * 0' builders: + - opendaylight-infra-jjbini - shell: | - jenkins-jobs --flush-cache update --recursive jjb/ + virtualenv $WORKSPACE/venv + source $WORKSPACE/venv/bin/activate + pip install --upgrade pip + pip freeze + pip install jenkins-job-builder + jenkins-jobs --flush-cache update --recursive --workers 4 jjb/ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: builder-check-poms - node: centos7-java-builder-2c-8g + node: centos7-java-builder-2c-4g project-type: freestyle - logrotate: - daysToKeep: 1 - numToKeep: 1 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - opendaylight-infra-parameters: project: '{project}' - branch: 'master' - refspec: 'refs/heads/master' + branch: '{branch}' + refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' wrappers: @@ -278,6 +314,279 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: 'builder-delete-stale-stacks' + project-type: freestyle + node: centos7-java-builder-2c-4g + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 7 + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + # Attempt to clear up stacks every 30 mins in case we have orphaned stacks + - timed: '0,30 * * * *' + + builders: + - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: 'builder-update-image-list' + project-type: freestyle + node: centos7-java-builder-2c-4g + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 7 + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - git-scm: + branch: '{branch}' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + # Listed after to override openstack-infra-wrappers clouds.yaml definition + - config-file-provider: + files: + - file-id: opendaylight-private-clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' + + triggers: + # Update image list every Monday to Friday at 11:00 UTC + - timed: '0 11 * * 1-5' + + builders: + - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh + - opendaylight-infra-push-gerrit-patch: + project: '{project}' + gerrit-topic: 'releng-update-cloud-image-list' + gerrit-commit-message: 'Update cloud image list docs' + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: 'builder-verify-packer' + project-type: freestyle + node: centos7-java-builder-2c-4g + concurrent: true + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: 'packer/**' + + builders: + - packer-validate: + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[{project}]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: 'builder-merge-packer-{platforms}-{templates}' + project-type: freestyle + node: centos7-java-builder-2c-4g + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + branches: + - '$GERRIT_BRANCH' + choosing-strategy: 'default' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - timed: '00 10 1 * *' + - gerrit: + server-name: '{server-name}' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: 'releng/builder' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'packer/vars/{platforms}.json' + - compare-type: ANT + pattern: 'packer/templates/{templates}.json' + - compare-type: ANT + pattern: 'packer/provision/{templates}.sh' + - compare-type: ANT + pattern: 'packer/provision/system_reseal.sh' + - compare-type: ANT + pattern: 'packer/provision/rh-user_data.sh' + - compare-type: ANT + pattern: 'packer/provision/devstack-pre-pip.sh' + - compare-type: ANT + pattern: 'packer/provision/baseline.sh' + + builders: + - packer-validate: + - packer-build: + platform: '{platforms}' + template: '{templates}' + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[{project}]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: 'builder-update-csit-tests' + node: centos7-java-builder-2c-8g + + # builder-update-csit-tests job + # + # This job's purpose is to update csit + # tests to run in integration-distribution-test-{stream} + # by updating releng-defaults variables: csit-list-carbon, + # csit-list-boron, csit-list-beryllium + + project-type: freestyle + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 14 + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '' + choosing-strategy: 'default' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - reverse: + jobs: 'builder-merge' + + builders: + - shell: | + git checkout -b auto-update-csit-jobs + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "carbon" + jobs-filename: "csit_jobs_carbon.lst" + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "boron" + jobs-filename: "csit_jobs_boron.lst" + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "beryllium" + jobs-filename: "csit_jobs_beryllium.lst" + - integration-replace-block-text: + starting-regex: "'csit-list-carbon: >'" + ending-regex: "'csit-list-boron: >'" + file-with-changes-to-insert: "'csit_jobs_carbon.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - integration-replace-block-text: + starting-regex: "'csit-list-boron: >'" + ending-regex: "'csit-list-beryllium: >'" + file-with-changes-to-insert: "'csit_jobs_boron.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - integration-replace-block-text: + starting-regex: "'csit-list-beryllium: >'" + ending-regex: "'# CSIT TESTS END SED MARKER'" + file-with-changes-to-insert: "'csit_jobs_beryllium.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - shell: | + git status + git add jjb/releng-defaults.yaml + - opendaylight-infra-push-gerrit-patch: + project: "releng/builder" + gerrit-topic: "auto-update-csit-jobs" + gerrit-commit-message: "Auto Update CSIT Jobs to run" + + publishers: + - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33'