X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fakraino-templates%2Fakraino-jjb-kni.yaml;h=7edb45c6003b2955fe500d0bd0971acd5514581a;hp=be1f9c17f9eeeb9865785b8225aaa7fea2e912d2;hb=HEAD;hpb=d77e64e2c55126e851b2ebede8287fbfb3e2d496 diff --git a/jjb/akraino-templates/akraino-jjb-kni.yaml b/jjb/akraino-templates/akraino-jjb-kni.yaml index be1f9c1..91e1a54 100644 --- a/jjb/akraino-templates/akraino-jjb-kni.yaml +++ b/jjb/akraino-templates/akraino-jjb-kni.yaml @@ -14,70 +14,172 @@ # See the License for the specific language governing permissions and # limitations under the License. # -- job-template: - id: kni-installer-build-installer - name: '{project-name}-build-installer' + +# A builder to ship logs from a bare metal Akraino deploy test node. +# Similar to lf-infra-ship-logs without python-tools-install.sh and +# job-cost.sh. +- builder: + name: kni-deploy-ship-logs + builders: + # Ensure no pre-existing .netrc files are overriding logs config + - lf-provide-maven-settings-cleanup + - config-file-provider: + files: + - file-id: "jenkins-log-archives-settings" + variable: "SETTINGS_FILE" + - lf-infra-create-netrc: + server-id: logs + - shell: !include-raw-escape: + - ../../global-jjb/shell/logs-deploy.sh + - shell: !include-raw-escape: + - ../../global-jjb/shell/logs-clear-credentials.sh + - description-setter: + regexp: "(^(Nexus|S3) build logs: .*)" + +- _kni_common: &kni_common + name: kni-common ###################### # Default parameters # ###################### - build-node: centos7-builder-2c-1g + build-node: "" build-days-to-keep: 30 build-timeout: 60 submodule-recursive: true + gerrit_trigger_file_paths: "{obj:gerrit_trigger_file_paths}" ##################### # Job Configuration # ##################### project-type: freestyle - node: '{build-node}' - + node: "{build-node}" properties: - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' + build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' + project: "{project}" + branch: "{branch}" + stream: "{stream}" + lftools-version: "{lftools-version}" wrappers: - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - gerrit_merge_triggers: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: remerge$ + build-timeout: "{build-timeout}" + jenkins-ssh-credential: "{jenkins-ssh-credential}" scm: - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' - choosing-strategy: default + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/{project}.git" + refspec: "$GERRIT_REFSPEC" + branch: "$GERRIT_BRANCH" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false + choosing-strategy: gerrit + + gerrit_verify_triggers: + - patchset-created-event: + exclude-drafts: true + exclude-trivial-rebase: false + exclude-no-code-change: false + - draft-published-event + - comment-added-contains-event: + comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' triggers: - gerrit: - server-name: '{gerrit-server-name}' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' + server-name: "{gerrit-server-name}" + trigger-on: "{obj:gerrit_verify_triggers}" + projects: + - project-compare-type: ANT + project-pattern: "{project}" + branches: + - branch-compare-type: ANT + branch-pattern: "**/{branch}" + file-paths: "{obj:gerrit_trigger_file_paths}" + publishers: + - lf-infra-publish + +- _kni_common_deploy: &kni_common_deploy + name: kni-common-deploy + <<: *kni_common + archive-artifacts: > + **/*.log + + parameters: + - lf-infra-parameters: + project: "{project}" + branch: "{branch}" + stream: "{stream}" + lftools-version: "{lftools-version}" + - string: + name: ARCHIVE_ARTIFACTS + default: "{archive-artifacts}" + description: Artifacts to archive to the logs server. + + wrappers: + - lf-infra-wrappers: + build-timeout: "{build-timeout}" + jenkins-ssh-credential: "{jenkins-ssh-credential}" + - credentials-binding: + - ssh-user-private-key: + credential-id: kni-secrets + key-file-variable: KNI_KEY_PATH + scm: + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/{project}.git" + refspec: "$GERRIT_REFSPEC" + branch: "$GERRIT_BRANCH" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false + choosing-strategy: gerrit + basedir: "{project-name}" + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/kni/installer.git" + refspec: "refs/heads/master" + branch: "master" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false + choosing-strategy: default + basedir: "installer" + + publishers: + - postbuildscript: + builders: + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - kni-deploy-ship-logs + mark-unstable-if-failed: true + - workspace-cleanup: + exclude: + # Do not clean up *.jenkins-trigger files for jobs that use a + # properties file as input for triggering another build. + - "**/*.jenkins-trigger" + fail-build: false + +- job-template: + id: kni-installer-verify-installer + name: "{project-name}-verify-installer" + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "**" + <<: *kni_common + build-node: centos7-builder-2c-1g builders: - lf-infra-pre-build @@ -86,83 +188,148 @@ - shell: !include-raw-escape: - ../shell/build_kni_installer.sh - publishers: - - lf-infra-publish +- job-template: + id: kni-verify-deploy-aws + name: "kni-{project-name}-verify-deploy-aws" + build-node: kni-cloud + <<: *kni_common_deploy + + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.aws/**" + - compare-type: ANT + pattern: "sites/testing.aws.edge-sites.net/**" + - compare-type: ANT + pattern: "base/**" + + builders: + - lf-infra-pre-build + - config-file-provider: + files: + - file-id: kni-coreos-pull-secret + target: akraino-secrets/coreos-pull-secret + - shell: !include-raw-escape: + - ../shell/install_go.sh + - shell: ./installer/ci/kni_deploy_aws.sh - job-template: - id: kni-installer-build-binary - name: '{project-name}-build-binary' + id: kni-verify-deploy-gcp + name: "kni-{project-name}-verify-deploy-gcp" + site: edge-sites-testing.gcp.devcluster.openshift.com + build-node: kni-cloud + <<: *kni_common_deploy - ###################### - # Default parameters # - ###################### + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.gcp/**" + - compare-type: ANT + pattern: "sites/edge-sites-testing.gcp.devcluster.openshift.com/**" + - compare-type: ANT + pattern: "base/**" - build-days-to-keep: 30 - build-timeout: 60 - build-node: centos7-builder-8c-8g - submodule-recursive: true + builders: + - lf-infra-pre-build + - config-file-provider: + files: + - file-id: kni-coreos-pull-secret + target: akraino-secrets/coreos-pull-secret + - shell: !include-raw-escape: + - ../shell/install_go.sh + - shell: ./installer/ci/kni_deploy_gcp.sh {site} - ##################### - # Job Configuration # - ##################### +- job-template: + id: kni-verify-deploy-gcp-hub + name: "kni-{project-name}-verify-deploy-gcp" + site: kni-mgmt-hub.gcp.devcluster.openshift.com + build-node: kni-cloud + <<: *kni_common_deploy - project-type: freestyle - node: '{build-node}' + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.gcp/**" + - compare-type: ANT + pattern: "sites/kni-mgmt-hub.gcp.devcluster.openshift.com/**" + - compare-type: ANT + pattern: "base/**" - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' + builders: + - lf-infra-pre-build + - config-file-provider: + files: + - file-id: kni-coreos-pull-secret + target: akraino-secrets/coreos-pull-secret + - shell: !include-raw-escape: + - ../shell/install_go.sh + - shell: ./installer/ci/kni_deploy_gcp.sh {site} - parameters: - - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' +- job-template: + id: kni-verify-deploy-gcp-ie + name: "kni-{project-name}-verify-deploy-gcp" + site: kni-ie.gcp.devcluster.openshift.com + build-node: kni-cloud + <<: *kni_common_deploy - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.gcp/**" + - compare-type: ANT + pattern: "sites/kni-ie.gcp.devcluster.openshift.com/**" + - compare-type: ANT + pattern: "base/**" - gerrit_merge_triggers: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: remerge$ + builders: + - lf-infra-pre-build + - config-file-provider: + files: + - file-id: kni-coreos-pull-secret + target: akraino-secrets/coreos-pull-secret + - shell: !include-raw-escape: + - ../shell/install_go.sh + - shell: ./installer/ci/kni_deploy_gcp.sh {site} + +- job-template: + id: kni-verify-deploy-baremetal + name: "kni-{project-name}-verify-deploy-baremetal" + <<: *kni_common_deploy + build-timeout: 120 + build-node: kni-baremetal gerrit_trigger_file_paths: - - compare-type: REG_EXP - pattern: 'Makefile' - - compare-type: REG_EXP - pattern: 'cmd/binary.go' + - compare-type: ANT + pattern: "profiles/production.baremetal/**" + - compare-type: ANT + pattern: "sites/testing.baremetal.edge-sites.net/**" + - compare-type: ANT + pattern: "base/**" scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "https://gerrit.akraino.org/r/kni/blueprint-pae" + refspec: "$GERRIT_REFSPEC" + branch: "$GERRIT_BRANCH" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false + choosing-strategy: gerrit + basedir: "kni-blueprint-pae" + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/kni/installer.git" + refspec: "refs/heads/master" + branch: "master" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false choosing-strategy: default - - triggers: - - gerrit: - server-name: '{gerrit-server-name}' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' + basedir: "installer" builders: - lf-infra-pre-build - - shell: !include-raw-escape: - - ../shell/install_go.sh - - shell: !include-raw-escape: - - ../shell/build_kni_binary.sh + - config-file-provider: + files: + - file-id: kni-coreos-pull-secret + target: akraino-secrets/coreos-pull-secret + - file-id: kni-ssh-pub-key + target: akraino-secrets/ssh-pub-key + - shell: sudo -E ./installer/ci/kni_deploy_baremetal.sh