blob: 5ccd5e23e94866ef9a5c20c63166897a13bbc3dd [file] [log] [blame]
Rozzii0bd5bfc2022-03-30 10:48:46 +03001#
2# ============LICENSE_START=======================================================
3# Copyright (C) 2019 Nordix Foundation.
4# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19
20# Description:
21# ============
22# This file contains job template definition for metal3-io/ironic-image PR build test.
23# This job can be triggered manually or through a Github pull request. It creates a
24# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
25
26- job-template:
27 id: ironic_image_build_tests
28 name: '{job_prefix}_{proj}_ironic_image_build_test'
29 description: "Ironic image build test for {org}/{repo} pull requests."
30 project-type: pipeline
31 defaults: global
32 disabled: False
33 concurrent: True
34 parameters:
35 - string:
36 name: PROJECT_REPO_ORG
37 default: '{org}'
38 description: 'Project github repo org name'
39 - string:
40 name: PROJECT_REPO_NAME
41 default: '{repo}'
42 description: 'Project github repo name'
43 - string:
Rozzii0e1e77a2022-04-12 11:18:32 +030044 name: ghprbActualCommit
45 default: 'main'
46 description: 'CI Repo branch for triggering manual build'
47 - string:
48 name: ghprbAuthorRepoGitUrl
49 default: 'https://github.com/{org}/{repo}.git'
50 description: 'CI Repo URL for triggering manual build'
51 - string:
52 name: ghprbTargetBranch
53 default: 'main'
54 description: 'Target branch of the PR'
55 - string:
Rozzii0bd5bfc2022-03-30 10:48:46 +030056 name: PATCHFILE_CONTENT
57 default: ''
58 description: 'This parameter is used to inject ironic-image patchfile content during replay.'
59
60 properties:
61 - build-discarder:
62 days-to-keep: 30
63 num-to-keep: 300
64 artifact-days-to-keep: -1
65 artifact-num-to-keep: -1
66 - github:
67 url: https://github.com/{org}/{repo}
68
69 triggers:
70 - github-pull-request:
71 admin-list:
Kashif Khanb8ae1d72024-04-11 15:23:47 +030072 - '{ci_github_admin_user}'
Rozzii0bd5bfc2022-03-30 10:48:46 +030073 org-list: "{ci_github_whitelist_org}"
74 auth-id: "{ci_ghprb_auth_id}"
Nauman Yaseen4426dc62024-02-21 13:49:40 +000075 trigger-phrase: '.*?/test-ironic-image-build.*?'
Rozziic863c8a2022-04-13 15:55:46 +030076 cron: 'H/5 * * * *'
Rozzii0bd5bfc2022-03-30 10:48:46 +030077 only-trigger-phrase: True
78 github-hooks: True
79 permit-all: False
80 auto-close-on-fail: False
81 allow-whitelist-orgs-as-admins: True
Rozzii3137bec2022-04-13 16:28:37 +030082 white-list-target-branches:
Kashif Khanb8ae1d72024-04-11 15:23:47 +030083 - 'main'
84 - 'release-23.1'
85 - 'release-24.0'
86 - 'release-24.1'
Rozzii0bd5bfc2022-03-30 10:48:46 +030087 status-context: "test-ironic-image-build"
88 success-status: "Passed"
89 failure-status: "Failed"
90 error-status: "Error"
91 cancel-builds-on-update: True
92 pipeline-scm:
93 scm:
94 - git:
95 url: "{ci_github_repo}"
96 credentials-id: "{ci_github_jenkins_credentials_id}"
97 branches:
Kashif Khanb8ae1d72024-04-11 15:23:47 +030098 - '{branch|main}'
Rozzii0bd5bfc2022-03-30 10:48:46 +030099 name: 'origin'
100 refspec: '+refs/heads/*:refs/remotes/origin/*'
101 wipe-workspace: True
102 honor-refspec: True
103 shallow-clone: False
104 script-path: "jenkins/jobs/ironic_image_build_test.pipeline"
105 lightweight-checkout: False