--- ############ # BUILDERS # ############ - builder: name: packaging-create-netrc builders: - inject: properties-content: "SERVER_ID={server-id}" - shell: !include-raw-escape: helm-create-netrc.sh ############ # TRIGGERS # ############ - trigger: name: gerrit-trigger-helm-verify triggers: - gerrit: server-name: "{server}" 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: '^Patch Set\s+\d+:\s+(recheck|reverify|verify-helm)\s*$' projects: - project-compare-type: "ANT" project-pattern: "{project}" branches: - branch-compare-type: "ANT" branch-pattern: "**/{branch}" file-paths: - compare-type: "ANT" pattern: "{files}" - trigger: name: gerrit-trigger-helm-merge triggers: - gerrit: server-name: "{server}" trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: "^remerge-helm$" projects: - project-compare-type: "ANT" project-pattern: "{project}" branches: - branch-compare-type: "ANT" branch-pattern: "**/{branch}" file-paths: - compare-type: "ANT" pattern: "{files}" - trigger: name: gerrit-trigger-release-manually triggers: - gerrit: server-name: "{server}" trigger-on: - comment-added-contains-event: comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$' projects: - project-compare-type: "ANT" project-pattern: "{project}" branches: - branch-compare-type: "ANT" branch-pattern: "**/{branch}" file-paths: - compare-type: "ANT" pattern: "**" ########### # ANCHORS # ########### - helm_job_boiler_plate: &helm_job_boiler_plate name: helm_job_boiler_plate ###################### # Default parameters # ###################### branch: master submodule-recursive: true # default params for helm jobs build_script: "" git-url: "$GIT_URL/$PROJECT" post_build_script: "" pre_build_script: "" submodule-disable: false submodule-timeout: 10 build-timeout: 240 ##################### # Job Configuration # ##################### project-type: freestyle node: "{build-node}" properties: - lf-infra-properties: build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: branch: "{branch}" project: "{project}" stream: "{stream}" lftools-version: "{lftools-version}" wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-credential}" publishers: - lf-infra-publish ################# # JOB TEMPLATES # ################# - job-template: name: "{project-name}-{stream}-verify-{helm_bin}" # Job template for helm verify jobs <<: *helm_job_boiler_plate concurrent: true scm: - gerrit-trigger-scm: refspec: "$GERRIT_REFSPEC" choosing-strategy: "gerrit" submodule-recursive: "{submodule-recursive}" triggers: - gerrit-trigger-helm-verify: status-context: "{project}-Helm-Verify" server: "{gerrit-server-name}" project: "{project}" branch: "{branch}" helm_bin: "{helm_bin}" files: "{files}" builders: - lf-infra-pre-build - shell: | echo "export HELM_BIN={helm_bin}" > helm.prop - shell: "{obj:pre_build_script}" - shell: "{obj:build_script}" - job-template: name: "{project-name}-{stream}-merge-helm" # Job template for Helm merge jobs <<: *helm_job_boiler_plate scm: - gerrit-trigger-scm: refspec: "" choosing-strategy: "default" submodule-recursive: "{submodule-recursive}" triggers: - gerrit-trigger-helm-merge: server: "{gerrit-server-name}" project: "{project}" branch: "{branch}" files: "{files}" builders: - lf-infra-pre-build - lf-provide-maven-settings: global-settings-file: "{mvn-global-settings}" settings-file: "{mvn-settings}" - shell: | echo "export HELM_BIN=helm3.7" > helm.prop - shell: "{obj:pre_build_script}" - shell: "{obj:build_script}" - packaging-create-netrc: server-id: packaging-helm - inject: properties-content: | BUILD_TYPE=snapshot - shell: "{obj:post_build_script}" - lf-provide-maven-settings-cleanup - job-template: name: "{project-name}-{stream}-release-helm" # Job template for Helm stage jobs <<: *helm_job_boiler_plate scm: - gerrit-trigger-scm: refspec: "" choosing-strategy: "default" submodule-recursive: "{submodule-recursive}" triggers: - gerrit: trigger-on: - comment-added-contains-event: comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$' builders: - lf-infra-pre-build - lf-provide-maven-settings: global-settings-file: "{mvn-global-settings}" settings-file: "{mvn-settings}" - shell: | echo "export HELM_BIN=helm3.5" > helm.prop - shell: "{obj:pre_build_script}" - shell: "{obj:build_script}" - lf-infra-create-netrc: server-id: packaing-helm - inject: properties-content: | BUILD_TYPE=release - shell: "{obj:post_build_script}" - lf-provide-maven-settings-cleanup - job-template: name: "{project-name}-{subproject}-{stream}-verify-helm" # Job template for helm verify jobs <<: *helm_job_boiler_plate disabled: true builders: - lf-infra-pre-build - shell: | echo "export HELM_BIN=helm3.7" > helm.prop - shell: "{pre_build_script}" - shell: "{build_script}" - shell: "{post_build_script}" - job-template: name: "{project-name}-{subproject}-{stream}-merge-helm" # Job template for helm merge jobs <<: *helm_job_boiler_plate disabled: true builders: - lf-infra-pre-build - shell: | echo "export HELM_BIN=helm3.5" > helm.prop - shell: "{pre_build_script}" - shell: "{build_script}" - inject: properties-content: | BUILD_TYPE=snapshot - shell: "{post_build_script}" - job-template: name: "{project-name}-{stream}-update-helm-weekly" <<: *helm_job_boiler_plate disabled: true scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: "{jenkins-ssh-credential}" git-url: "$GIT_URL/$PROJECT" refspec: "$GERRIT_REFSPEC" branch: "$GERRIT_BRANCH" submodule-recursive: true submodule-timeout: "{submodule-timeout}" submodule-disable: "{submodule-disable}" choosing-strategy: default builders: - lf-infra-pre-build - shell: | echo "export HELM_BIN=helm3.5" > helm.prop - shell: "{pre_build_script}" - shell: "{build_script}" - shell: "{post_build_script}" triggers: # 11 AM UTC - timed: "@daily" - gerrit-trigger-release-manually: server: "{gerrit-server-name}" project: "{project}" branch: "{branch}" - project: name: packaging project-name: packaging project: integration/packaging mvn-settings: packaging-settings mvn-global-settings: global-settings archive-artifacts: "" build-node: ubuntu1804-helm-2c-1g pre_build_script: !include-raw-escape: helm-repo-init.sh helm_build_script: | #!/bin/bash set -x . helm.prop set -e -o pipefail cd helm/opendaylight helm3.7 version helm3.7 lint --strict . helm3.7 package . stream: - chlorine: branch: "master" - sulfur: branch: "stable/sulfur" helm_bin: - helm3.7 - helm3.5 exclude: [] subproject: [] jobs: - "{project-name}-{stream}-verify-{helm_bin}": build_script: "{helm_build_script}" files: 'helm\/opendaylight\/.*\.yaml' build-timeout: 600 - "{project-name}-{stream}-merge-helm": build_script: "{helm_build_script}" post_build_script: !include-raw-escape: publish-helm-charts.sh files: 'helm\/opendaylight\/.*\.yaml' build-timeout: 600 - "{project-name}-{stream}-release-helm": build_script: "{helm_build_script}" post_build_script: !include-raw-escape: publish-helm-charts.sh files: 'helm\/opendaylight\/.*\.yaml' build-timeout: 600 - "{project-name}-{stream}-update-helm-weekly": build_script: "{helm_build_script}" files: 'helm\/opendaylight\/.*\.yaml'