build-python3-image-pipeline-images ○ success

Duration: 28s
Queued: 1s
📁 Stage: docker-image
🖥 Runner: linux-aws-1
Average Duration
51s
This job: 28s
Failure Rate
2.3%
last 30 days

Job Execution Phases

💡 Tip: Click on any phase bar to jump to that section in the log below

Job Analysis

Job Status: Passed

Status: Job passed successfully

Full Job Log

440 lines
Match - of 0
1 09:35:14 Running with gitlab-runner 18.9.0 (07e534ba)
2 09:35:14 on gitlab-runner-linux-1-5fd7c4d488-lmfht wRxjPbsJX, system ID: r_IGK0pqbQZJas
3 09:35:14 feature flags: FF_USE_FASTZIP:true, FF_USE_NEW_BASH_EVAL_STRATEGY:true, FF_USE_DYNAMIC_TRACE_FORCE_SEND_INTERVAL:true, FF_SCRIPT_SECTIONS:true, FF_USE_ADVANCED_POD_SPEC_CONFIGURATION:true, FF_PRINT_POD_EVENTS:true, FF_USE_DUMB_INIT_WITH_KUBERNETES_EXECUTOR:true, FF_LOG_IMAGES_CONFIGURED_FOR_JOB:true, FF_CLEAN_UP_FAILED_CACHE_EXTRACT:true, FF_GIT_URLS_WITHOUT_TOKENS:true, FF_WAIT_FOR_POD_TO_BE_REACHABLE:true, FF_USE_FLEETING_ACQUIRE_HEARTBEATS:true, FF_USE_JOB_ROUTER:true
4 09:35:14 Resolving secrets
5 09:35:14 section_start:1777973714:prepare_executor
6 09:35:14 +Preparing the "kubernetes" executor
7 09:35:14 "CPURequest" overwritten with "2"
8 09:35:14 "MemoryRequest" overwritten with "4G"
9 09:35:14 Using Kubernetes namespace: gitlab-runner
10 09:35:14 Using Kubernetes executor with image registry.scandit.com/dockerfiles/kaniko:v1.27.3-crane@sha256:72bdc063db14f38a45910d33ccf066ecb088d4833fb2437fef336e49b81fd4ac ...
11 09:35:14 Using attach strategy to execute scripts...
12 09:35:14 Using effective pull policy of [Always] for container build
13 09:35:14 Using effective pull policy of [Always] for container helper
14 09:35:14 Using effective pull policy of [Always] for container init-permissions
15 09:35:15 section_end:1777973715:prepare_executor
16 09:35:15 +section_start:1777973715:prepare_script
17 09:35:15 +Preparing environment
18 09:35:15 Using FF_USE_POD_ACTIVE_DEADLINE_SECONDS, the Pod activeDeadlineSeconds will be set to the job timeout: 1h0m0s...
19 09:35:15 WARNING: Advanced Pod Spec configuration enabled, merging the provided PodSpec to the generated one. This is a beta feature and is subject to change. Feedback is collected in this issue: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29659 ...
20 09:35:15 Subscribing to Kubernetes Pod events...
21 09:35:16 Type Reason Message
22 09:35:16 Normal Scheduled Successfully assigned gitlab-runner/runner-wrxjpbsjx-project-621-concurrent-0-gmkicepj to ip-10-0-46-192.eu-central-1.compute.internal
23 09:35:16 Normal Pulled Container image "gitlab/gitlab-runner-helper:x86_64-v18.8.0" already present on machine
24 09:35:16 Normal Created Created container: init-permissions
25 09:35:16 Normal Started Started container init-permissions
26 09:35:17 Normal Pulled Container image "498954711405.dkr.ecr.eu-central-1.amazonaws.com/dockerfiles/kaniko@sha256:72bdc063db14f38a45910d33ccf066ecb088d4833fb2437fef336e49b81fd4ac" already present on machine
27 09:35:17 Normal Created Created container: build
28 09:35:17 Normal Started Started container build
29 09:35:17 Normal Pulled Container image "gitlab/gitlab-runner-helper:x86_64-v18.8.0" already present on machine
30 09:35:17 Normal Created Created container: helper
31 09:35:17 Normal Started Started container helper
32 09:35:19 Running on runner-wrxjpbsjx-project-621-concurrent-0-gmkicepj via gitlab-runner-linux-1-5fd7c4d488-lmfht...
33 09:35:19
34 09:35:19 section_end:1777973719:prepare_script
35 09:35:19 +section_start:1777973719:get_sources
36 09:35:19 +Getting source from Git repository
37 09:35:20 Gitaly correlation ID: 01KQVQVQE9B4E2ZG2YQNBC5GST
38 09:35:20 Fetching changes with git depth set to 1...
39 09:35:20 Initialized empty Git repository in /build/internal/gitlab-templates/.git/
40 09:35:20 Created fresh repository.
41 09:35:20 Checking out eea928ac as detached HEAD (ref is refs/merge-requests/637/merge)...
42 09:35:20
43 09:35:20 Skipping Git submodules setup
44 09:35:20
45 09:35:20 section_end:1777973720:get_sources
46 09:35:20 +section_start:1777973720:step_script
47 09:35:20 +Executing "step_script" stage of the job script
48 09:35:21 section_start:1777973720:section_pre_build_script_0[hide_duration=true,collapsed=true] $ function cleanup {
49 09:35:21 rv=$?
50 09:35:21 if [ $rv -ne 0 ]; then
51 09:35:21 echo ""
52 09:35:21 echo " Failure Cause Analysis might help, please open this link:"
53 09:35:21 echo " https://scout.scandit.io/analysis/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}"
54 09:35:21 echo ""
55 09:35:21 fi
56 09:35:21 echo ""
57 09:35:21 echo "Scout Analysis: https://scout.scandit.io/analysis/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}"
58 09:35:21 echo ""
59 09:35:21 echo ""
60 09:35:21 echo "Grafana Pod-View: https://grafana.scandit.com/d/k8s_views_pods/kubernetes-views-pods?orgId=1&refresh=1m&var-datasource=${GRAFANA_DATASOURCE}&var-host=${SC_K8S_NODE_NAME}&var-namespace=${SC_K8S_NAMESPACE}&var-pod=${HOSTNAME}&var-resolution=15&from=${__start_time}000&to=${EPOCHSECONDS}000"
61 09:35:21 echo "Grafana Node-View: https://grafana.scandit.com/d/k8s_views_nodes/kubernetes-views-nodes?orgId=1&refresh=1m&var-datasource=${GRAFANA_DATASOURCE}&var-node=${SC_K8S_NODE_NAME}&var-resolution=15s&from=${__start_time}000&to=${EPOCHSECONDS}000"
62 09:35:21 echo "Loki Logs: https://grafana.scandit.com/a/grafana-lokiexplore-app/explore/log_group/gitlab-runner/logs?var-ds=${LOKI_DATASOURCE}&var-filters=log_group|=|gitlab-runner&var-filters=source|=|${LOKI_LOGSOURCE}&var-filters=namespace|=|${SC_K8S_NAMESPACE}&var-filters=CI_PROJECT_ID|=|${CI_PROJECT_ID}&var-filters=CI_PIPELINE_ID|=|${CI_PIPELINE_ID}&var-filters=CI_JOB_ID|=|${CI_JOB_ID}&sortOrder=Ascending&from=${__start_time}000&to=${EPOCHSECONDS}000"
63 09:35:21 echo "Lilibet Statistics: https://lilibet.scandit.io/dashboard/204-job-drill-down?date_range=$(date -d '-7 days' +%Y-%m-%d)~$(date -d '+7 days' +%Y-%m-%d)&job_name=${CI_JOB_NAME}&project=${CI_PROJECT_PATH}"
64 09:35:21 echo ""
65 09:35:21 exit $rv
66 09:35:21 }
67 09:35:21 trap cleanup EXIT
68 09:35:21 echo "INFO: This is the CI job pre_build_script"
69 09:35:21 echo "INFO: It's defined in the backend/infra/aws repo."
70 09:35:21 echo "INFO: These additional Scandit variables are available to you:"
71 09:35:21 echo " SC_K8S_NODE_NAME: $SC_K8S_NODE_NAME"
72 09:35:21 echo " SC_K8S_IMAGE_ID: $SC_K8S_IMAGE_ID"
73 09:35:21 echo " SC_K8S_KYVERNO_PATCHES: |"
74 09:35:21 echo "$SC_K8S_KYVERNO_PATCHES" | sed 's/^/ /'
75 09:35:21 echo "cpu (r/l): ${SC_K8S_REQUESTS_CPU}/${SC_K8S_LIMITS_CPU}"
76 09:35:21 if command -v numfmt >/dev/null 2>&1; then
77 09:35:21 echo "memory (r/l): $(numfmt --to=iec --suffix=B $SC_K8S_REQUESTS_MEMORY)/$(numfmt --to=iec --suffix=B $SC_K8S_LIMITS_MEMORY)"
78 09:35:21 else
79 09:35:21 echo "memory (r/l): ${SC_K8S_REQUESTS_MEMORY}/${SC_K8S_LIMITS_MEMORY}"
80 09:35:21 fi
81 09:35:21 __start_time=${EPOCHSECONDS}
82 09:35:21 echo ""
83 09:35:21 echo "Grafana Pod-View: https://grafana.scandit.com/d/k8s_views_pods/kubernetes-views-pods?orgId=1&refresh=1m&var-datasource=${GRAFANA_DATASOURCE}&var-host=${SC_K8S_NODE_NAME}&var-namespace=${SC_K8S_NAMESPACE}&var-pod=${HOSTNAME}&var-resolution=15&from=${__start_time}000&to=now"
84 09:35:21 echo "Grafana Node-View: https://grafana.scandit.com/d/k8s_views_nodes/kubernetes-views-nodes?orgId=1&refresh=1m&var-datasource=${GRAFANA_DATASOURCE}&var-node=${SC_K8S_NODE_NAME}&var-resolution=15s&from=${__start_time}000&to=now"
85 09:35:21 echo "Loki Logs: https://grafana.scandit.com/a/grafana-lokiexplore-app/explore/log_group/gitlab-runner/logs?var-ds=${LOKI_DATASOURCE}&var-filters=log_group|=|gitlab-runner&var-filters=source|=|${LOKI_LOGSOURCE}&var-filters=namespace|=|${SC_K8S_NAMESPACE}&var-filters=CI_PROJECT_ID|=|${CI_PROJECT_ID}&var-filters=CI_PIPELINE_ID|=|${CI_PIPELINE_ID}&var-filters=CI_JOB_ID|=|${CI_JOB_ID}&sortOrder=Ascending&from=${__start_time}000&to=now"
86 09:35:21 echo "Lilibet Statistics: https://lilibet.scandit.io/dashboard/204-job-drill-down?date_range=$(date -d '-7 days' +%Y-%m-%d)~$(date -d '+7 days' +%Y-%m-%d)&job_name=${CI_JOB_NAME}&project=${CI_PROJECT_PATH}"
87 09:35:21 echo ""
88 09:35:21 echo "Setting up credentials for Gitlab Python registries"
89 09:35:21 mkdir -p ~
90 09:35:21 echo "machine gitlab.scandit.com" > ~/.netrc
91 09:35:21 echo "login gitlab-ci-token" >> ~/.netrc
92 09:35:21 echo "password ${CI_JOB_TOKEN}" >> ~/.netrc
93 09:35:21 chmod 600 ~/.netrc
94 09:35:21 if command -v git &> /dev/null && [ "$(id -u)" -ne 0 ]; then
95 09:35:21 git config --global --add safe.directory $CI_PROJECT_DIR
96 09:35:21 fi
97 09:35:21 # Sonarqube server is running on the same cluster. Use internal address
98 09:35:21 export SONAR_HOST_URL="http://sonarqube.sonarqube.svc.cluster.local:9000"
99 09:35:21 section_end:1777973720:section_pre_build_script_0
100 09:35:21 INFO: This is the CI job pre_build_script
101 09:35:21 INFO: It's defined in the backend/infra/aws repo.
102 09:35:21 INFO: These additional Scandit variables are available to you:
103 09:35:21 SC_K8S_NODE_NAME: ip-10-0-46-192.eu-central-1.compute.internal
104 09:35:21 SC_K8S_IMAGE_ID:
105 09:35:21 SC_K8S_KYVERNO_PATCHES: |
106 09:35:21
107 09:35:21 cpu (r/l): 2/4
108 09:35:21 memory (r/l): 4000000000/17179869184
109 09:35:21
110 09:35:21 Grafana Pod-View: https://grafana.scandit.com/d/k8s_views_pods/kubernetes-views-pods?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-host=ip-10-0-46-192.eu-central-1.compute.internal&var-namespace=gitlab-runner&var-pod=runner-wrxjpbsjx-project-621-concurrent-0-gmkicepj&var-resolution=15&from=1777973720000&to=now
111 09:35:21 Grafana Node-View: https://grafana.scandit.com/d/k8s_views_nodes/kubernetes-views-nodes?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-node=ip-10-0-46-192.eu-central-1.compute.internal&var-resolution=15s&from=1777973720000&to=now
112 09:35:21 Loki Logs: https://grafana.scandit.com/a/grafana-lokiexplore-app/explore/log_group/gitlab-runner/logs?var-ds=nVsAo7UVk&var-filters=log_group|=|gitlab-runner&var-filters=source|=|k8s-ci.aws.scandit.io&var-filters=namespace|=|gitlab-runner&var-filters=CI_PROJECT_ID|=|621&var-filters=CI_PIPELINE_ID|=|1578751&var-filters=CI_JOB_ID|=|54380607&sortOrder=Ascending&from=1777973720000&to=now
113 09:35:21 date: invalid date '-7 days'
114 09:35:21 date: invalid date '+7 days'
115 09:35:21 Lilibet Statistics: https://lilibet.scandit.io/dashboard/204-job-drill-down?date_range=~&job_name=build-python3-image-pipeline-images&project=internal/gitlab-templates
116 09:35:21
117 09:35:21 Setting up credentials for Gitlab Python registries
118 09:35:21 $ echo $DOCKER_CONFIG_JSON > /kaniko/.docker/config.json
119 09:35:21 $ mv /root/.netrc /kaniko/.netrc
120 09:35:21 section_start:1777973721:section_script_step_2[hide_duration=true,collapsed=true] $ function copy_files() {
121 09:35:21 local src="$1"
122 09:35:21 local trg="$2"
123 09:35:21 for f in $src; do
124 09:35:21 t="$trg/`dirname $f`"
125 09:35:21 mkdir -p $t || true
126 09:35:21 echo "Copy $f"
127 09:35:21 cp -pr $f $trg/$f
128 09:35:21 done
129 09:35:21 }
130 09:35:21 function recursive_hash() {
131 09:35:21 local dir="$1"
132 09:35:21 find "$dir" -exec stat -c '%F|%a|%u:%g|%n' {} + -type f -exec sha256sum {} + | sort | sha256sum | cut -d ' ' -f1
133 09:35:21 }
134 09:35:21 function remote_docker_digest() {
135 09:35:21 local images="$1"
136 09:35:21 echo $images | xargs -n 1 crane digest
137 09:35:21 }
138 09:35:21 function remote_image_exists() {
139 09:35:21 local image="$1"
140 09:35:21 crane manifest $image > /dev/null 2>&1
141 09:35:21 }
142 09:35:21 function remote_images_are_identical() {
143 09:35:21 local imageA="$1"
144 09:35:21 local imageB="$2"
145 09:35:21 if [[ $(remote_docker_digest "$imageA") == $(remote_docker_digest "$imageB") ]]; then
146 09:35:21 return 0
147 09:35:21 else
148 09:35:21 return 1
149 09:35:21 fi
150 09:35:21 }
151 09:35:21 function copy_image() {
152 09:35:21 local image="$1"
153 09:35:21 local remotes="$2"
154 09:35:21 local backup_ext="$3"
155 09:35:21 echo "$image"
156 09:35:21 local source_digest=$(remote_docker_digest $image)
157 09:35:21 local target_digest
158 09:35:21 for registry in $remotes; do
159 09:35:21 if target_digest=$(remote_docker_digest $registry); then
160 09:35:21 if [ "$target_digest" != "$source_digest" ]; then
161 09:35:21 echo "image outdated, overwriting with newest version"
162 09:35:21 crane copy $image $registry
163 09:35:21 crane copy $image ${registry}${backup_ext}
164 09:35:21 fi
165 09:35:21 else
166 09:35:21 echo "image does not exist, writing newest version"
167 09:35:21 crane copy $image $registry
168 09:35:21 crane copy $image ${registry}${backup_ext}
169 09:35:21 fi
170 09:35:21 done
171 09:35:21 }
172 09:35:21 section_end:1777973721:section_script_step_2
173 09:35:21 section_start:1777973721:section_script_step_3[hide_duration=true,collapsed=true] $ if [ "$CONTAINER_SUBDIR" != "" ]; then
174 09:35:21 echo "Entering subpath $CONTAINER_SUBDIR"
175 09:35:21 cd $CONTAINER_SUBDIR
176 09:35:21 fi
177 09:35:21 section_end:1777973721:section_script_step_3
178 09:35:21 $ copy_files "$CONTAINER_IMPLICIT_REQUIREMENTS $CONTAINER_REQUIREMENTS" "$CONTAINER_CONTEXT_PATH"
179 09:35:21 Copy Dockerfile.python-3-no-requirements
180 09:35:21 $ echo "$CONTAINER_BUILD_ENVIRONMENT" > $CONTAINER_CONTEXT_PATH/.docker-build-env
181 09:35:21 $ docker_checksum=$(recursive_hash $CONTAINER_CONTEXT_PATH)
182 09:35:21 section_start:1777973721:section_script_step_7[hide_duration=true,collapsed=true] $ if [ "$CONTAINER_IMAGE_NAME" == "" ]; then
183 09:35:21 final_image_name=${CONTAINER_IMAGE_URL}
184 09:35:21 else
185 09:35:21 final_image_name=${CONTAINER_IMAGE_URL}/${CONTAINER_IMAGE_NAME}
186 09:35:21 fi
187 09:35:21 section_end:1777973721:section_script_step_7
188 09:35:21 $ final_image_url=${final_image_name}:${docker_checksum}
189 09:35:21 section_start:1777973721:section_script_step_9[hide_duration=true,collapsed=true] $ if [ "${PIPELINE_IMAGE_REFS}" == "1" ]; then
190 09:35:21 echo $CONTAINER_IMAGE_VARIABLE=${final_image_url}-P${CI_PROJECT_ID}-${CI_PIPELINE_ID} > $CI_PROJECT_DIR/docker_image_build.env
191 09:35:21 else
192 09:35:21 echo $CONTAINER_IMAGE_VARIABLE=$final_image_url > $CI_PROJECT_DIR/docker_image_build.env
193 09:35:21 fi
194 09:35:21 section_end:1777973721:section_script_step_9
195 09:35:21 $ echo ${CONTAINER_IMAGE_VARIABLE}_HASH=$docker_checksum >> $CI_PROJECT_DIR/docker_image_build.env
196 09:35:21 section_start:1777973721:section_script_step_11[hide_duration=true,collapsed=true] $ if [ "${FORCE_BUILD}" != "true" ] || command -v crane &> /dev/null; then
197 09:35:21 echo $REGISTRY_PASSWORD | crane auth login $REGISTRY -u $REGISTRY_USER --password-stdin
198 09:35:21 fi
199 09:35:21 section_end:1777973721:section_script_step_11
200 09:35:21
201 09:35:21 WARNING! Your credentials are stored unencrypted in '/kaniko/.docker/config.json'.
202 09:35:21 Configure a credential helper to remove this warning. See
203 09:35:21 https://docs.docker.com/go/credential-store/
204 09:35:21
205 09:35:21 2026/05/05 09:35:21 logged in via /kaniko/.docker/config.json
206 09:35:21 section_start:1777973721:section_script_step_12[hide_duration=true,collapsed=true] $ if [ "${FORCE_BUILD}" != "true" ] && remote_image_exists "$final_image_url"; then
207 09:35:21 echo "Image already exists, skip the build."
208 09:35:21 echo "$final_image_url"
209 09:35:21 if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
210 09:35:21 _EXT=""
211 09:35:21 _BACKUP_EXT="-CI${CI_JOB_ID}-$(date '+%Y%m%d')"
212 09:35:21 elif [[ -n "$CI_MERGE_REQUEST_ID" ]]; then
213 09:35:21 _EXT="-MR${CI_MERGE_REQUEST_IID}"
214 09:35:21 _BACKUP_EXT=""
215 09:35:21 elif [[ "$CI_COMMIT_REF_PROTECTED" == "true" ]]; then
216 09:35:21 _EXT="-${CI_COMMIT_REF_SLUG}"
217 09:35:21 _BACKUP_EXT="-CI${CI_JOB_ID}-$(date '+%Y%m%d')"
218 09:35:21 fi
219 09:35:21 for _TAG in $CONTAINER_IMAGE_TAG; do
220 09:35:21 echo "Copying ${final_image_url} to ${final_image_name}:${_TAG}${_EXT}"
221 09:35:21 copy_image "${final_image_url}" "${final_image_name}:${_TAG}${_EXT}" "${_BACKUP_EXT}"
222 09:35:21 done
223 09:35:21 if [ "${PIPELINE_IMAGE_REFS}" == "1" ]; then
224 09:35:21 _EXT="-P${CI_PROJECT_ID}-${CI_PIPELINE_ID}"
225 09:35:21 echo "Copying ${final_image_url} to ${final_image_url}${_EXT}"
226 09:35:21 copy_image "${final_image_url}" "${final_image_url}${_EXT}"
227 09:35:21 for _TAG in $CONTAINER_IMAGE_TAG; do
228 09:35:21 echo "Copying ${final_image_url} to ${final_image_name}:${_TAG}${_EXT}"
229 09:35:21 copy_image "${final_image_url}" "${final_image_name}:${_TAG}${_EXT}"
230 09:35:21 done
231 09:35:21 fi
232 09:35:21 exit 0
233 09:35:21 fi
234 09:35:21 section_end:1777973721:section_script_step_12
235 09:35:21 $ DESTINATIONS="--destination=$final_image_url"
236 09:35:21 section_start:1777973721:section_script_step_14[hide_duration=true,collapsed=true] $ if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
237 09:35:21 _EXT=""
238 09:35:21 TIMESTAMP_TAGS=$CONTAINER_IMAGE_TAG
239 09:35:21 elif [[ -n "$CI_MERGE_REQUEST_ID" ]]; then
240 09:35:21 _EXT="-MR${CI_MERGE_REQUEST_IID}"
241 09:35:21 TIMESTAMP_TAGS=""
242 09:35:21 elif [[ "$CI_COMMIT_REF_PROTECTED" == "true" ]]; then
243 09:35:21 _EXT="-${CI_COMMIT_REF_SLUG}"
244 09:35:21 TIMESTAMP_TAGS=$CONTAINER_IMAGE_TAG
245 09:35:21 fi
246 09:35:21 section_end:1777973721:section_script_step_14
247 09:35:21 section_start:1777973721:section_script_step_15[hide_duration=true,collapsed=true] $ for _TAG in $CONTAINER_IMAGE_TAG; do
248 09:35:21 DESTINATIONS="${DESTINATIONS} --destination=${final_image_name}:${_TAG}${_EXT}"
249 09:35:21 done
250 09:35:21 section_end:1777973721:section_script_step_15
251 09:35:21 section_start:1777973721:section_script_step_16[hide_duration=true,collapsed=true] $ if [ "${PIPELINE_IMAGE_REFS}" == "1" ]; then
252 09:35:21 _EXT="-P${CI_PROJECT_ID}-${CI_PIPELINE_ID}"
253 09:35:21 DESTINATIONS="${DESTINATIONS} --destination=${final_image_url}${_EXT}"
254 09:35:21 for _TAG in $CONTAINER_IMAGE_TAG; do
255 09:35:21 DESTINATIONS="${DESTINATIONS} --destination=${final_image_name}:${_TAG}${_EXT}"
256 09:35:21 done
257 09:35:21 fi
258 09:35:21 section_end:1777973721:section_script_step_16
259 09:35:21 section_start:1777973721:section_script_step_17[hide_duration=true,collapsed=true] $ DATE=$(date '+%Y%m%d')
260 09:35:21 for _TAG in $TIMESTAMP_TAGS; do
261 09:35:21 DESTINATIONS="${DESTINATIONS} --destination=${final_image_name}:${_TAG}${_EXT}-CI${CI_JOB_ID}-${DATE}"
262 09:35:21 done
263 09:35:21 section_end:1777973721:section_script_step_17
264 09:35:21 section_start:1777973721:section_script_step_18[hide_duration=true,collapsed=true] $ if [ -n "${CONTAINER_BUILD_ARGS}" ]; then
265 09:35:21 for _BUILD_ARG in $CONTAINER_BUILD_ARGS; do
266 09:35:21 FINAL_BUILD_ARGS="--build-arg $_BUILD_ARG $FINAL_BUILD_ARGS"
267 09:35:21 done
268 09:35:21 fi
269 09:35:21 section_end:1777973721:section_script_step_18
270 09:35:21 section_start:1777973721:section_script_step_19[hide_duration=true,collapsed=true] $ for _PATH in $CONTAINER_IGNORE_PATHS; do
271 09:35:21 FINAL_IGNORE_PATHS="--ignore-path=$_PATH $FINAL_IGNORE_PATHS"
272 09:35:21 done
273 09:35:21 section_end:1777973721:section_script_step_19
274 09:35:21 section_start:1777973721:section_script_step_20[hide_duration=true,collapsed=true] $ if [ -n "${CONTAINER_PLATFORM}" ]; then
275 09:35:21 KANIKO_PLATFORM="--custom-platform=${CONTAINER_PLATFORM}"
276 09:35:21 fi
277 09:35:21 section_end:1777973721:section_script_step_20
278 09:35:21 $ ANNOTATIONS=""
279 09:35:21 section_start:1777973721:section_script_step_22[hide_duration=true,collapsed=true] $ if [[ -n "$CI_COMMIT_REF_NAME" ]]; then
280 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.ref.name=${CI_COMMIT_REF_NAME}"
281 09:35:21 fi
282 09:35:21 section_end:1777973721:section_script_step_22
283 09:35:21 section_start:1777973721:section_script_step_23[hide_duration=true,collapsed=true] $ if [[ -n "$CI_COMMIT_SHA" ]]; then
284 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.revision=${CI_COMMIT_SHA}"
285 09:35:21 fi
286 09:35:21 section_end:1777973721:section_script_step_23
287 09:35:21 section_start:1777973721:section_script_step_24[hide_duration=true,collapsed=true] $ if [[ -n "$CI_JOB_URL" ]]; then
288 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.url=${CI_JOB_URL}"
289 09:35:21 fi
290 09:35:21 section_end:1777973721:section_script_step_24
291 09:35:21 section_start:1777973721:section_script_step_25[hide_duration=true,collapsed=true] $ if [[ -n "$CI_PIPELINE_ID" ]]; then
292 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY io.gitlab.ci.pipeline_id=${CI_PIPELINE_ID}"
293 09:35:21 fi
294 09:35:21 section_end:1777973721:section_script_step_25
295 09:35:21 section_start:1777973721:section_script_step_26[hide_duration=true,collapsed=true] $ if [[ -n "$CI_JOB_ID" ]]; then
296 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY io.gitlab.ci.job_id=${CI_JOB_ID}"
297 09:35:21 fi
298 09:35:21 section_end:1777973721:section_script_step_26
299 09:35:21 section_start:1777973721:section_script_step_27[hide_duration=true,collapsed=true] $ if [[ -n "$CI_JOB_IMAGE" ]]; then
300 09:35:21 ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY io.gitlab.ci.job_image=${CI_JOB_IMAGE}"
301 09:35:21 fi
302 09:35:21 section_end:1777973721:section_script_step_27
303 09:35:21 $ ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.title=${final_image_name}:$(echo $CONTAINER_IMAGE_TAG | cut -d' ' -f1)"
304 09:35:21 $ ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.created=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
305 09:35:21 $ ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY org.opencontainers.image.vendor=Scandit"
306 09:35:21 $ ANNOTATIONS="${ANNOTATIONS} $KANIKO_ANNOTATION_KEY io.scandit.ci.hash=${docker_checksum}"
307 09:35:21 section_start:1777973721:section_script_step_32[hide_duration=true,collapsed=true] $ if [ -n "${CONTAINER_TARGET_STAGE}" ]; then
308 09:35:21 KANIKO_TARGET="--target $CONTAINER_TARGET_STAGE"
309 09:35:21 fi
310 09:35:21 section_end:1777973721:section_script_step_32
311 09:35:21 $ set -x
312 09:35:21 + echo '$ /kaniko/executor --context $CONTAINER_CONTEXT_PATH --dockerfile $CONTAINER_DOCKERFILE $DESTINATIONS --cache=true --cache-copy-layers --cache-dir /cache/kaniko --cache-repo $CONTAINER_CACHE_REPO --cache-ttl=$CONTAINER_CACHE_TTL $FINAL_IGNORE_PATHS $KANIKO_TARGET $FINAL_BUILD_ARGS $KANIKO_PLATFORM $ANNOTATIONS $KANIKO_DEFAULT_FLAGS $KANIKO_EXTRA_FLAGS'
313 09:35:21 $ /kaniko/executor --context $CONTAINER_CONTEXT_PATH --dockerfile $CONTAINER_DOCKERFILE $DESTINATIONS --cache=true --cache-copy-layers --cache-dir /cache/kaniko --cache-repo $CONTAINER_CACHE_REPO --cache-ttl=$CONTAINER_CACHE_TTL $FINAL_IGNORE_PATHS $KANIKO_TARGET $FINAL_BUILD_ARGS $KANIKO_PLATFORM $ANNOTATIONS $KANIKO_DEFAULT_FLAGS $KANIKO_EXTRA_FLAGS
314 09:35:21 + /kaniko/executor --context /build/internal/gitlab-templates/context/ --dockerfile Dockerfile.python-3-no-requirements '--destination=registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae' '--destination=registry.scandit.com/internal/gitlab-templates:latest-MR637' '--destination=registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae-P621-1578751' '--destination=registry.scandit.com/internal/gitlab-templates:latest-P621-1578751' '--cache=true' --cache-copy-layers --cache-dir /cache/kaniko --cache-repo registry.scandit.com/internal/gitlab-templates/cache '--cache-ttl=336h' --annotation 'org.opencontainers.image.ref.name=docs/upgrade-notes-on-prem-image-gc-warning' --annotation 'org.opencontainers.image.revision=eea928ac2e0f8fd4e0d4af1460ab757f5bb85ab5' --annotation 'org.opencontainers.image.url=https://gitlab.scandit.com/internal/gitlab-templates/-/jobs/54380607' --annotation 'io.gitlab.ci.pipeline_id=1578751' --annotation 'io.gitlab.ci.job_id=54380607' --annotation 'io.gitlab.ci.job_image=registry.scandit.com/dockerfiles/kaniko:v1.27.3-crane@sha256:72bdc063db14f38a45910d33ccf066ecb088d4833fb2437fef336e49b81fd4ac' --annotation 'org.opencontainers.image.title=registry.scandit.com/internal/gitlab-templates:latest' --annotation 'org.opencontainers.image.created=2026-05-05T09:35:21Z' --annotation 'org.opencontainers.image.vendor=Scandit' --annotation 'io.scandit.ci.hash=06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae' --preserve-context '--credential-helpers=gitlab' --secret 'id=netrc,src=/kaniko/.netrc' --secret 'id=ci_job_token,env=CI_JOB_TOKEN'
315 09:35:21 INFO[0000] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
316 09:35:21 INFO[0000] Retrieving image manifest python:3.12-bookworm
317 09:35:21 INFO[0000] Retrieving image python:3.12-bookworm from registry index.docker.io
318 09:35:21 INFO[0000] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
319 09:35:22 INFO[0000] Retrieving image manifest python:3.12-bookworm
320 09:35:22 INFO[0000] Returning cached image manifest
321 09:35:22 INFO[0001] Retrieving image manifest python:3.12-bookworm
322 09:35:22 INFO[0001] Returning cached image manifest
323 09:35:22 INFO[0001] Retrieving image manifest python:3.12-bookworm
324 09:35:22 INFO[0001] Returning cached image manifest
325 09:35:22 INFO[0001] Built cross stage deps: map[]
326 09:35:22 INFO[0001] Skipping context snapshot as no-one requires it
327 09:35:22 INFO[0001] Retrieving image manifest python:3.12-bookworm
328 09:35:22 INFO[0001] Returning cached image manifest
329 09:35:22 INFO[0001] Retrieving image manifest python:3.12-bookworm
330 09:35:22 INFO[0001] Returning cached image manifest
331 09:35:22 INFO[0001] Building stage 'python:3.12-bookworm' [idx: '0', base-idx: '-1']
332 09:35:22 INFO[0001] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:4aa82f716f80c2fc0d58cc1f7a315d65fe7859ed520e8f4629aeee5d53138656...
333 09:35:22 INFO[0001] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
334 09:35:22 INFO[0001] Using caching version of cmd: RUN git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
335 09:35:22 INFO[0001] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:ba0db3758a565d2d2e2422aa1db025dbb40e077874cd6e1e401d3c49f3fcd62c...
336 09:35:22 INFO[0001] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
337 09:35:22 INFO[0001] Using caching version of cmd: RUN cd $PYENV_ROOT && git checkout $PYENV_VER
338 09:35:22 INFO[0001] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:9bac7630196695d57a9e8d50ae22c6d4522eb0a98c472a45883c6d0be3e49e45...
339 09:35:22 INFO[0001] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
340 09:35:22 INFO[0001] Using caching version of cmd: RUN eval "$(/root/.pyenv/bin/pyenv init --path)" && pyenv install 3.12 -s && pyenv global 3.12
341 09:35:22 INFO[0001] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:0ff4514c7ac6cdc5c7cb4178c2361fe343a6ca2b8f06a5264217474665cb24d4...
342 09:35:22 INFO[0001] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
343 09:35:23 INFO[0001] Using caching version of cmd: RUN echo 'eval "$(/root/.pyenv/bin/pyenv init --path)"' >> /root/.profile
344 09:35:23 INFO[0001] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:b99fb6ce20a7c634aa9e2bbfaa85468ed6872a7cf86f1ad316ec4bbbdd396a9b...
345 09:35:23 INFO[0001] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
346 09:35:23 INFO[0002] Using caching version of cmd: RUN pyenv version | grep 3.12
347 09:35:23 INFO[0002] Checking for cached layer registry.scandit.com/internal/gitlab-templates/cache:365b127d01b3cfb8918bd20d42bc50c8e968718b12bce559f2e7c199678ba1c5...
348 09:35:23 INFO[0002] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
349 09:35:23 INFO[0002] Using caching version of cmd: RUN python3 -m pip install --upgrade pip wheel
350 09:35:23 INFO[0002] Skipping unpacking as no commands require it.
351 09:35:23 INFO[0002] ENV PYENV_VER=v2.3.36
352 09:35:23 INFO[0002] Taking snapshot of files...
353 09:35:23 INFO[0002] ENV PYENV_ROOT /root/.pyenv
354 09:35:23 INFO[0002] Taking snapshot of files...
355 09:35:23 INFO[0002] ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
356 09:35:23 INFO[0002] Taking snapshot of files...
357 09:35:23 INFO[0002] RUN git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
358 09:35:23 INFO[0002] Found cached layer, extracting to filesystem
359 09:35:24 INFO[0002] RUN cd $PYENV_ROOT && git checkout $PYENV_VER
360 09:35:24 INFO[0002] Found cached layer, extracting to filesystem
361 09:35:24 INFO[0003] RUN eval "$(/root/.pyenv/bin/pyenv init --path)" && pyenv install 3.12 -s && pyenv global 3.12
362 09:35:24 INFO[0003] Found cached layer, extracting to filesystem
363 09:35:36 INFO[0015] RUN echo 'eval "$(/root/.pyenv/bin/pyenv init --path)"' >> /root/.profile
364 09:35:36 INFO[0015] Found cached layer, extracting to filesystem
365 09:35:36 INFO[0015] SHELL ["/bin/bash", "-c"]
366 09:35:36 INFO[0015] Taking snapshot of files...
367 09:35:36 INFO[0015] RUN pyenv version | grep 3.12
368 09:35:36 INFO[0015] Found cached layer, extracting to filesystem
369 09:35:36 INFO[0015] RUN python3 -m pip install --upgrade pip wheel
370 09:35:36 INFO[0015] Found cached layer, extracting to filesystem
371 09:35:37 INFO[0016] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
372 09:35:37 INFO[0016] Pushing image to registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae
373 09:35:38 INFO[0017] Pushed registry.scandit.com/internal/gitlab-templates@sha256:8e41869b65e5a29642cdde7646a4a18e565d7536ef020c2eb3013e7a2af800e3
374 09:35:38 INFO[0017] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
375 09:35:38 INFO[0017] Pushing image to registry.scandit.com/internal/gitlab-templates:latest-MR637
376 09:35:39 INFO[0018] Pushed registry.scandit.com/internal/gitlab-templates@sha256:8e41869b65e5a29642cdde7646a4a18e565d7536ef020c2eb3013e7a2af800e3
377 09:35:39 INFO[0018] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
378 09:35:39 INFO[0018] Pushing image to registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae-P621-1578751
379 09:35:40 INFO[0018] Pushed registry.scandit.com/internal/gitlab-templates@sha256:8e41869b65e5a29642cdde7646a4a18e565d7536ef020c2eb3013e7a2af800e3
380 09:35:40 INFO[0018] credential providers by priority: [file:/kaniko/.docker/config.json, gitlab]
381 09:35:40 INFO[0018] Pushing image to registry.scandit.com/internal/gitlab-templates:latest-P621-1578751
382 09:35:40 INFO[0019] Pushed registry.scandit.com/internal/gitlab-templates@sha256:8e41869b65e5a29642cdde7646a4a18e565d7536ef020c2eb3013e7a2af800e3
383 09:35:40 + echo '$ source ${CI_PROJECT_DIR}/docker_image_build.env'
384 09:35:40 $ source ${CI_PROJECT_DIR}/docker_image_build.env
385 09:35:40 + source /build/internal/gitlab-templates/docker_image_build.env
386 09:35:40 + IMAGE_ID=registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae-P621-1578751
387 09:35:40 + IMAGE_ID_HASH=06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae
388 09:35:40 + awk 'BEGIN{srand(); print srand()}'
389 09:35:40 + printf '%b\n' 'section_start:1777973740:section_script_step_36[hide_duration=true,collapsed=true] $ if [[ "$IMAGE_ID" != *-P${CI_PROJECT_ID}-${CI_PIPELINE_ID} ]]; then
390 09:35:40 exit 1
391 09:35:40 fi'
392 09:35:40 section_start:1777973740:section_script_step_36[hide_duration=true,collapsed=true] $ if [[ "$IMAGE_ID" != *-P${CI_PROJECT_ID}-${CI_PIPELINE_ID} ]]; then
393 09:35:40 exit 1
394 09:35:40 fi
395 09:35:40 + awk 'BEGIN{srand(); print srand()}'
396 09:35:40 + printf '%b\n' 'section_end:1777973740:section_script_step_36 '
397 09:35:40 section_end:1777973740:section_script_step_36
398 09:35:40 + '[[' registry.scandit.com/internal/gitlab-templates:06da9a02c84cd3343b150bcef5e291ee5248c5ad3c616d8ae3c7c8833bff42ae-P621-1578751 '!=' '*-P621-1578751' ]]
399 09:35:40 + cleanup
400 09:35:40 + rv=0
401 09:35:40 + '[' 0 -ne 0 ]
402 09:35:40 + echo
403 09:35:40
404 09:35:40 + echo 'Scout Analysis: https://scout.scandit.io/analysis/projects/621/jobs/54380607'
405 09:35:40 Scout Analysis: https://scout.scandit.io/analysis/projects/621/jobs/54380607
406 09:35:40 + echo
407 09:35:40
408 09:35:40 + echo
409 09:35:40
410 09:35:40 + echo 'Grafana Pod-View: https://grafana.scandit.com/d/k8s_views_pods/kubernetes-views-pods?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-host=ip-10-0-46-192.eu-central-1.compute.internal&var-namespace=gitlab-runner&var-pod=runner-wrxjpbsjx-project-621-concurrent-0-gmkicepj&var-resolution=15&from=1777973720000&to=1777973740000'
411 09:35:40 Grafana Pod-View: https://grafana.scandit.com/d/k8s_views_pods/kubernetes-views-pods?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-host=ip-10-0-46-192.eu-central-1.compute.internal&var-namespace=gitlab-runner&var-pod=runner-wrxjpbsjx-project-621-concurrent-0-gmkicepj&var-resolution=15&from=1777973720000&to=1777973740000
412 09:35:40 + echo 'Grafana Node-View: https://grafana.scandit.com/d/k8s_views_nodes/kubernetes-views-nodes?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-node=ip-10-0-46-192.eu-central-1.compute.internal&var-resolution=15s&from=1777973720000&to=1777973740000'
413 09:35:40 Grafana Node-View: https://grafana.scandit.com/d/k8s_views_nodes/kubernetes-views-nodes?orgId=1&refresh=1m&var-datasource=lu1rmx27z&var-node=ip-10-0-46-192.eu-central-1.compute.internal&var-resolution=15s&from=1777973720000&to=1777973740000
414 09:35:40 + echo 'Loki Logs: https://grafana.scandit.com/a/grafana-lokiexplore-app/explore/log_group/gitlab-runner/logs?var-ds=nVsAo7UVk&var-filters=log_group|=|gitlab-runner&var-filters=source|=|k8s-ci.aws.scandit.io&var-filters=namespace|=|gitlab-runner&var-filters=CI_PROJECT_ID|=|621&var-filters=CI_PIPELINE_ID|=|1578751&var-filters=CI_JOB_ID|=|54380607&sortOrder=Ascending&from=1777973720000&to=1777973740000'
415 09:35:40 Loki Logs: https://grafana.scandit.com/a/grafana-lokiexplore-app/explore/log_group/gitlab-runner/logs?var-ds=nVsAo7UVk&var-filters=log_group|=|gitlab-runner&var-filters=source|=|k8s-ci.aws.scandit.io&var-filters=namespace|=|gitlab-runner&var-filters=CI_PROJECT_ID|=|621&var-filters=CI_PIPELINE_ID|=|1578751&var-filters=CI_JOB_ID|=|54380607&sortOrder=Ascending&from=1777973720000&to=1777973740000
416 09:35:40 + date -d '-7 days' '+%Y-%m-%d'
417 09:35:40 date: invalid date '-7 days'
418 09:35:40 + date -d '+7 days' '+%Y-%m-%d'
419 09:35:40 date: invalid date '+7 days'
420 09:35:40 + echo 'Lilibet Statistics: https://lilibet.scandit.io/dashboard/204-job-drill-down?date_range=~&job_name=build-python3-image-pipeline-images&project=internal/gitlab-templates'
421 09:35:40 Lilibet Statistics: https://lilibet.scandit.io/dashboard/204-job-drill-down?date_range=~&job_name=build-python3-image-pipeline-images&project=internal/gitlab-templates
422 09:35:40 + echo
423 09:35:40
424 09:35:40 + exit 0
425 09:35:40
426 09:35:40 section_end:1777973740:step_script
427 09:35:40 +section_start:1777973740:upload_artifacts_on_success
428 09:35:40 +Uploading artifacts for successful job
429 09:35:41 Uploading artifacts...
430 09:35:41 docker_image_build.env: found 1 matching artifact files and directories
431 09:35:41 Uploading artifacts as "dotenv" to coordinator... 201 Created correlation_id=01KQVQWHM0J4141SNZ9BYM9S4A id=54380607 responseStatus=201 Created token=64_cmHcDT
432 09:35:41
433 09:35:41 section_end:1777973741:upload_artifacts_on_success
434 09:35:41 +section_start:1777973741:cleanup_file_variables
435 09:35:41 +Cleaning up project directory and file based variables
436 09:35:42
437 09:35:42 section_end:1777973742:cleanup_file_variables
438 09:35:42 +
439 09:35:42 Job succeeded
440