Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 1 | --- |
| 2 | # |
| 3 | # ============LICENSE_START======================================================= |
| 4 | # Copyright (C) 2019 Nordix Foundation. |
| 5 | # ================================================================================ |
| 6 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 7 | # you may not use this file except in compliance with the License. |
| 8 | # You may obtain a copy of the License at |
| 9 | # |
| 10 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | # |
| 12 | # Unless required by applicable law or agreed to in writing, software |
| 13 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 | # See the License for the specific language governing permissions and |
| 16 | # limitations under the License. |
| 17 | # |
| 18 | # SPDX-License-Identifier: Apache-2.0 |
| 19 | # ============LICENSE_END========================================================= |
| 20 | |
| 21 | # Description: |
| 22 | # ============ |
Furkat Gofurov | 22522d9 | 2022-02-05 22:15:22 +0200 | [diff] [blame] | 23 | # This file contains job template definition for Cluster API Provider Metal3 (CAPM3) integration tests. |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 24 | # This job can be triggered manually or through a Github pull request. It creates a |
Furkat Gofurov | b1e9961 | 2022-02-04 10:48:36 +0200 | [diff] [blame] | 25 | # pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository. |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 26 | |
| 27 | - job-template: |
Furkat Gofurov | 417257d | 2022-07-06 11:49:22 +0300 | [diff] [blame] | 28 | name: '{job_prefix}_{proj}_{capm3_target_branch}_integration_test_{image_os}{name_postfix}' |
Rozzii | 67e2e3c | 2022-04-08 14:39:16 +0300 | [diff] [blame] | 29 | description: "CAPM3 {capm3_version} integration tests for {org}/{repo} on {image_os} with ironic installed from {ironic_install_type}." |
| 30 | id: 'integration_tests' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 31 | project-type: pipeline |
Rozzii | 67e2e3c | 2022-04-08 14:39:16 +0300 | [diff] [blame] | 32 | defaults: integration-default-values |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 33 | disabled: False |
| 34 | concurrent: True |
| 35 | parameters: |
| 36 | - string: |
| 37 | name: PROJECT_REPO_ORG |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 38 | default: '{org}' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 39 | description: 'Project github repo org name' |
| 40 | - string: |
| 41 | name: PROJECT_REPO_NAME |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 42 | default: '{repo}' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 43 | description: 'Project github repo name' |
| 44 | - string: |
| 45 | name: ghprbActualCommit |
| 46 | default: 'main' |
| 47 | description: 'CI Repo branch for triggering manual build' |
| 48 | - string: |
| 49 | name: ghprbAuthorRepoGitUrl |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 50 | default: 'https://github.com/{org}/{repo}.git' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 51 | description: 'CI Repo URL for triggering manual build' |
| 52 | - string: |
| 53 | name: ghprbTargetBranch |
| 54 | default: 'main' |
| 55 | description: 'Target branch of the PR' |
| 56 | - string: |
kashifest | d489257 | 2022-07-07 13:50:06 +0300 | [diff] [blame] | 57 | name: capm3_release_branch |
| 58 | default: '{capm3_release_branch}' |
| 59 | description: 'The target branch of CAPM3 to be used for this test' |
| 60 | - string: |
Lennart Jern | fba373c | 2022-02-10 09:50:44 +0200 | [diff] [blame] | 61 | name: IMAGE_OS |
Lennart Jern | 2e1382e | 2022-02-14 12:24:16 +0200 | [diff] [blame] | 62 | default: '{image_os}' |
Lennart Jern | fba373c | 2022-02-10 09:50:44 +0200 | [diff] [blame] | 63 | description: 'Distribution to use for the target host as well as source and target cluster. Can be ubuntu or centos' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 64 | - string: |
| 65 | name: CAPI_VERSION |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 66 | default: '{capi_version}' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 67 | description: 'Cluster API version.' |
| 68 | - string: |
| 69 | name: CAPM3_VERSION |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 70 | default: '{capm3_version}' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 71 | description: 'Cluster API provider Metal3 version.' |
| 72 | - string: |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 73 | name: TARGET_NODE_MEMORY |
| 74 | default: 4096 |
| 75 | description: 'RAM size of the target host.' |
Rozzii | 67e2e3c | 2022-04-08 14:39:16 +0300 | [diff] [blame] | 76 | - string: |
| 77 | name: IRONIC_INSTALL_TYPE |
| 78 | default: '{ironic_install_type}' |
| 79 | description: 'Sets the installation type of ironic during ironic-image build of the BMO deployment' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 80 | properties: |
| 81 | - build-discarder: |
| 82 | days-to-keep: 30 |
| 83 | num-to-keep: 300 |
| 84 | artifact-days-to-keep: -1 |
| 85 | artifact-num-to-keep: -1 |
| 86 | - github: |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 87 | url: https://github.com/{org}/{repo} |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 88 | |
| 89 | triggers: |
| 90 | - github-pull-request: |
| 91 | admin-list: |
| 92 | - '{ci_github_admin_user}' |
| 93 | org-list: "{ci_github_whitelist_org}" |
| 94 | cron: 'H/5 * * * *' |
| 95 | auth-id: "{ci_ghprb_auth_id}" |
Furkat Gofurov | 417257d | 2022-07-06 11:49:22 +0300 | [diff] [blame] | 96 | trigger-phrase: '((.|\n)*\s)?/test-{image_os}-integration-{capm3_target_branch}{trigger_postfix}(\s(.|\n)*)?' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 97 | skip-build-phrase: '/skip-test' |
| 98 | only-trigger-phrase: True |
| 99 | github-hooks: True |
| 100 | permit-all: False |
| 101 | auto-close-on-fail: False |
| 102 | allow-whitelist-orgs-as-admins: True |
Lennart Jern | 146f50a | 2022-02-15 08:27:59 +0200 | [diff] [blame] | 103 | white-list-target-branches: "{target_branches}" |
Furkat Gofurov | 417257d | 2022-07-06 11:49:22 +0300 | [diff] [blame] | 104 | status-context: "test-{image_os}-integration-{capm3_target_branch}" |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 105 | success-status: "Passed" |
| 106 | failure-status: "Failed" |
| 107 | error-status: "Error" |
| 108 | cancel-builds-on-update: True |
| 109 | pipeline-scm: |
| 110 | scm: |
| 111 | - git: |
| 112 | url: "{ci_github_repo}" |
| 113 | credentials-id: "{ci_github_jenkins_credentials_id}" |
| 114 | branches: |
kashifest | 79c9c9a | 2021-12-23 13:55:03 +0200 | [diff] [blame] | 115 | - '{branch|main}' |
Furkat Gofurov | e9b34b6 | 2021-10-22 12:36:23 +0300 | [diff] [blame] | 116 | name: 'origin' |
| 117 | refspec: '+refs/heads/*:refs/remotes/origin/*' |
| 118 | wipe-workspace: True |
| 119 | honor-refspec: True |
| 120 | shallow-clone: False |
| 121 | script-path: "{ci_github_pipeline}" |
Lennart Jern | 19b2b42 | 2022-02-08 15:26:27 +0200 | [diff] [blame] | 122 | lightweight-checkout: False |