Skip to content

Commit 0a34180

Browse files
committed
Update Konflux build defs and Containerfile based on review comments
1 parent 4e53ad3 commit 0a34180

File tree

3 files changed

+82
-17
lines changed

3 files changed

+82
-17
lines changed

.tekton/ansible-chatbot-stack-pull-request.yaml

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ spec:
3131
value: Containerfile
3232
- name: build-args
3333
value:
34-
- ANSIBLE_CHATBOT_VERSION=0.1.9
35-
- LLAMA_STACK_RUN_CONFIG=ansible-chatbot-run.yaml
34+
- ANSIBLE_CHATBOT_VERSION=0.9.$(tasks.git-metadata.results.commit-timestamp)
35+
- GIT_COMMIT=$(tasks.clone-repository.results.commit)
3636
pipelineSpec:
3737
description: |
3838
This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.
@@ -176,18 +176,47 @@ spec:
176176
workspaces:
177177
- name: basic-auth
178178
workspace: git-auth
179+
- name: git-metadata
180+
params:
181+
- name: ociStorage
182+
value: $(params.output-image).script
183+
- name: ociArtifactExpiresAfter
184+
value: $(params.image-expires-after)
185+
- name: SCRIPT_RUNNER_IMAGE
186+
value: alpine/git
187+
- name: SCRIPT
188+
value: |
189+
#!/bin/sh
190+
set -euo pipefail
191+
cd "$(workspaces.source.path)/source"
192+
echo -n $(date -d @$(git log -1 --format=%at) "+%Y%m%d%H%M") > $(results.commit-timestamp.path)
193+
- name: HERMETIC
194+
value: $(params.hermetic)
195+
- name: SOURCE_ARTIFACT
196+
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
197+
runAfter:
198+
- clone-repository
199+
taskRef:
200+
params:
201+
- name: name
202+
value: run-script-oci-ta
203+
- name: bundle
204+
value: quay.io/konflux-ci/tekton-catalog/task-run-script-oci-ta:0.1@sha256:c0f627069353ebd6d1ed03c8657e281eaf11be63706ea38cc53caf16cf4ffd65
205+
- name: kind
206+
value: task
207+
resolver: bundles
179208
- name: prefetch-dependencies
180209
params:
181210
- name: input
182211
value: $(params.prefetch-input)
183212
- name: SOURCE_ARTIFACT
184-
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
213+
value: $(tasks.git-metadata.results.SOURCE_ARTIFACT)
185214
- name: ociStorage
186215
value: $(params.output-image).prefetch
187216
- name: ociArtifactExpiresAfter
188217
value: $(params.image-expires-after)
189218
runAfter:
190-
- clone-repository
219+
- git-metadata
191220
taskRef:
192221
params:
193222
- name: name
@@ -202,7 +231,7 @@ spec:
202231
workspace: git-auth
203232
- name: netrc
204233
workspace: netrc
205-
- name: run-script
234+
- name: download-providers
206235
params:
207236
- name: ociStorage
208237
value: $(params.output-image).script
@@ -254,14 +283,14 @@ spec:
254283
- name: PRIVILEGED_NESTED
255284
value: $(params.privileged-nested)
256285
- name: SOURCE_ARTIFACT
257-
value: $(tasks.run-script.results.SCRIPT_ARTIFACT)
286+
value: $(tasks.download-providers.results.SCRIPT_ARTIFACT)
258287
- name: ADDITIONAL_BASE_IMAGES
259288
value:
260-
- $(tasks.run-script.results.SCRIPT_RUNNER_IMAGE_REFERENCE)
289+
- $(tasks.download-providers.results.SCRIPT_RUNNER_IMAGE_REFERENCE)
261290
- name: CACHI2_ARTIFACT
262291
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
263292
runAfter:
264-
- run-script
293+
- download-providers
265294
taskRef:
266295
params:
267296
- name: name

.tekton/ansible-chatbot-stack-push.yaml

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ spec:
2828
value: Containerfile
2929
- name: build-args
3030
value:
31-
- ANSIBLE_CHATBOT_VERSION=0.1.9
32-
- LLAMA_STACK_RUN_CONFIG=ansible-chatbot-run.yaml
31+
- ANSIBLE_CHATBOT_VERSION=0.9.$(tasks.git-metadata.results.commit-timestamp)
32+
- IMAGE_TAGS=latest 0.9.$(tasks.git-metadata.results.commit-timestamp)
33+
- GIT_COMMIT=$(tasks.clone-repository.results.commit)
3334
pipelineSpec:
3435
description: |
3536
This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.
@@ -173,18 +174,47 @@ spec:
173174
workspaces:
174175
- name: basic-auth
175176
workspace: git-auth
177+
- name: git-metadata
178+
params:
179+
- name: ociStorage
180+
value: $(params.output-image).script
181+
- name: ociArtifactExpiresAfter
182+
value: $(params.image-expires-after)
183+
- name: SCRIPT_RUNNER_IMAGE
184+
value: alpine/git
185+
- name: SCRIPT
186+
value: |
187+
#!/bin/sh
188+
set -euo pipefail
189+
cd "$(workspaces.source.path)/source"
190+
echo -n $(date -d @$(git log -1 --format=%at) "+%Y%m%d%H%M") > $(results.commit-timestamp.path)
191+
- name: HERMETIC
192+
value: $(params.hermetic)
193+
- name: SOURCE_ARTIFACT
194+
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
195+
runAfter:
196+
- clone-repository
197+
taskRef:
198+
params:
199+
- name: name
200+
value: run-script-oci-ta
201+
- name: bundle
202+
value: quay.io/konflux-ci/tekton-catalog/task-run-script-oci-ta:0.1@sha256:c0f627069353ebd6d1ed03c8657e281eaf11be63706ea38cc53caf16cf4ffd65
203+
- name: kind
204+
value: task
205+
resolver: bundles
176206
- name: prefetch-dependencies
177207
params:
178208
- name: input
179209
value: $(params.prefetch-input)
180210
- name: SOURCE_ARTIFACT
181-
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
211+
value: $(tasks.git-metadata.results.SOURCE_ARTIFACT)
182212
- name: ociStorage
183213
value: $(params.output-image).prefetch
184214
- name: ociArtifactExpiresAfter
185215
value: $(params.image-expires-after)
186216
runAfter:
187-
- clone-repository
217+
- git-metadata
188218
taskRef:
189219
params:
190220
- name: name
@@ -199,7 +229,7 @@ spec:
199229
workspace: git-auth
200230
- name: netrc
201231
workspace: netrc
202-
- name: run-script
232+
- name: download-providers
203233
params:
204234
- name: ociStorage
205235
value: $(params.output-image).script
@@ -251,14 +281,14 @@ spec:
251281
- name: PRIVILEGED_NESTED
252282
value: $(params.privileged-nested)
253283
- name: SOURCE_ARTIFACT
254-
value: $(tasks.run-script.results.SCRIPT_ARTIFACT)
284+
value: $(tasks.download-providers.results.SCRIPT_ARTIFACT)
255285
- name: ADDITIONAL_BASE_IMAGES
256286
value:
257-
- $(tasks.run-script.results.SCRIPT_RUNNER_IMAGE_REFERENCE)
287+
- $(tasks.download-providers.results.SCRIPT_RUNNER_IMAGE_REFERENCE)
258288
- name: CACHI2_ARTIFACT
259289
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
260290
runAfter:
261-
- run-script
291+
- download-providers
262292
taskRef:
263293
params:
264294
- name: name

Containerfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Build arguments declared in the global scope.
22
ARG ANSIBLE_CHATBOT_VERSION=latest
3+
ARG IMAGE_TAGS=image-tags-not-defined
4+
ARG GIT_COMMIT=git-commit-not-defined
35

46
# ======================================================
57
# Transient image to construct Python venv
@@ -34,6 +36,8 @@ USER 0
3436
# Re-declaring arguments without a value, inherits the global default one.
3537
ARG APP_ROOT
3638
ARG ANSIBLE_CHATBOT_VERSION
39+
ARG IMAGE_TAGS
40+
ARG GIT_COMMIT
3741
RUN microdnf install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs jq
3842

3943
# PYTHONDONTWRITEBYTECODE 1 : disable the generation of .pyc
@@ -58,7 +62,9 @@ RUN mkdir -p /.llama/distributions/ansible-chatbot
5862
RUN mkdir -p /.llama/data/distributions/ansible-chatbot
5963
RUN echo -e "\
6064
{\n\
61-
\"version\": \"${ANSIBLE_CHATBOT_VERSION}\" \n\
65+
\"version\": \"${ANSIBLE_CHATBOT_VERSION}\", \n\
66+
\"imageTags\": \"${IMAGE_TAGS}\", \n\
67+
\"gitCommit\": \"${GIT_COMMIT}\" \n\
6268
}\n\
6369
" > /.llama/distributions/ansible-chatbot/ansible-chatbot-version-info.json
6470
ADD llama-stack/providers.d /.llama/providers.d

0 commit comments

Comments
 (0)