3 - _images_parameters_default: &images_parameters_imagebuilder_defaults
4 name: 'images_parameters_imagebuilder_defaults'
6 - string: &images_parameters_OS
11 - string: &images_parameters_RELEASE
13 description: 'OS release number or name'
16 - choice: &images_parameters_ARCH
18 description: 'Target architecture'
27 - string: &images_parameters_VARIANT
30 description: 'The base image variant to build off of'
32 - choice: &images_parameters_IMAGE_TYPE
37 description: 'The type of image to create'
43 description: 'The ansible group to apply to the image'
45 - string: &images_parameters_LXD_HOST
47 default: 'ci-host-amd64-1a.internal.efficios.com'
48 description: 'The address of the LXD cluster to publish to'
50 - string: &images_parameters_LXD_INSTANCE_PROFILE
51 name: 'LXD_INSTANCE_PROFILE'
52 default: 'ci-rootnode'
53 description: 'The LXD instance profile to use for temporary instances when building images'
55 - string: &images_parameters_GIT_URL
57 default: 'https://github.com/lttng/lttng-ci.git'
58 description: 'The source of the repo containing the ansible playbooks'
60 - string: &images_parameters_GIT_BRANCH
63 description: 'The branch or commit of the ansible playbook repo to checkout'
65 - bool: &images_parameters_TEST
68 description: 'Enable to launch a container of the published image as a test'
70 - _images_parameters_default: &images_parameters_distrobuilder_defaults
71 name: 'images_parameters_distrobuilder_defaults'
74 <<: *images_parameters_OS
76 <<: *images_parameters_RELEASE
78 <<: *images_parameters_ARCH
80 <<: *images_parameters_VARIANT
82 <<: *images_parameters_IMAGE_TYPE
84 <<: *images_parameters_LXD_HOST
86 <<: *images_parameters_LXD_INSTANCE_PROFILE
88 <<: *images_parameters_GIT_URL
90 <<: *images_parameters_GIT_BRANCH
92 <<: *images_parameters_TEST
94 name: 'DISTROBUILDER_GIT_URL'
95 default: 'https://github.com/lxc/distrobuilder.git'
97 name: 'DISTROBUILDER_GIT_BRANCH'
100 name: 'LXC_CI_GIT_URL'
101 default: 'https://github.com/lxc/lxc-ci.git'
103 name: 'LXC_CI_GIT_BRANCH'
109 - _images_properties_defaults: &images_properties_defaults
110 name: 'images_properties_defaults'
119 - _images_parameters_debian_defaults: &images_parameters_debian_defaults
120 name: 'image_parameters_debian_defaults'
123 name: 'SKIP_BASE_IMAGES'
126 name: 'SKIP_PROFILE_IMAGES'
128 - choice: &images_parameters_arch_filter
139 - choice: &images_parameters_image_type_filter
140 name: 'IMAGE_TYPE_FILTER'
145 - choice: &images_parameters_profile_filter
146 name: 'PROFILE_FILTER'
152 name: 'RELEASE_FILTER'
160 <<: *images_parameters_GIT_URL
162 <<: *images_parameters_GIT_BRANCH
169 <p>Job is managed by Jenkins Job Builder</p>
170 project-type: freestyle
177 - credentials-binding:
178 - ssh-user-private-key:
179 credential-id: 'f3c907b6-7485-49e1-afe1-4df24fac4ca1'
180 key-file-variable: SSH_PRIVATE_KEY
181 username-variable: SSH_USERNAME
182 passphrase-variable: SSH_PASSWORD
184 credential-id: 'f3f08275-59ef-42ff-9de5-9beafc7435b8'
185 variable: LXD_CLIENT_CERT
187 credential-id: '0debf23b-191b-4cdf-8a25-04e9a7092a67'
188 variable: LXD_CLIENT_KEY
193 name: images_imagebuilder_{OS}
194 defaults: imagebuilder
196 This pipeline starts distrobuilder and imagebuilder jobs for {OS}
198 <p>Job is managed by Jenkins Job Builder</p>
199 project-type: pipeline
200 <<: *images_parameters_debian_defaults
207 dsl: !include-jinja2: pipelines/images/default.groovy
210 name: images_distrobuilder
211 defaults: imagebuilder
212 node: 'deb12-amd64-rootnode'
213 <<: *images_parameters_distrobuilder_defaults
214 <<: *images_properties_defaults
216 - shell: !include-raw-escape: pipelines/images/distrobuild.sh
219 name: images_imagebuilder
220 defaults: imagebuilder
221 node: 'deb12-amd64-rootnode'
222 <<: *images_parameters_imagebuilder_defaults
223 <<: *images_properties_defaults
225 - shell: !include-raw-escape: pipelines/images/imagebuild.sh
237 name: images_imagebuilder_OS
249 - 'images_imagebuilder_{OS}'
251 name: images_basejobs
253 - 'images_imagebuilder'
254 - 'images_distrobuilder'
256 name: images_imagebuilder_views