From 1101a7956ddb721c5f5cd60c05ab6c94df22ebac Mon Sep 17 00:00:00 2001 From: Jawed khelil Date: Fri, 10 Jul 2026 14:14:04 +0200 Subject: [PATCH] fix(release): copy vendor tarball into kodata instead of symlink ko v0.19.0 enforces that kodata symlinks must not resolve outside the kodata root (ko-build/ko#1619). The run-ko step symlinked cmd/*/kodata/source.tar.gz to a file in an external tmpdir, which ko now rejects, breaking release image publishing. Copy the tarball into each kodata/ directory instead. ko already dereferences symlinks when tarring kodata, so this has no effect on final image size. Signed-off-by: Jawed khelil Assisted-by: Claude Sonnet 5 (via Cursor) Co-authored-by: Cursor --- tekton/publish.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tekton/publish.yaml b/tekton/publish.yaml index 55c2c6ca69f..c0526794b47 100644 --- a/tekton/publish.yaml +++ b/tekton/publish.yaml @@ -162,11 +162,15 @@ spec: # probably get it wrong), we'll just targz up the whole vendor tree and # include it. As of 9/20/2019, this amounts to about 11MB of additional # data in each image. + # ko >= v0.19.0 rejects kodata symlinks that resolve outside the + # kodata root (ko-build/ko#1619), so the tarball is copied into + # each kodata/ directory instead of being symlinked from a + # shared tmpdir. TMPDIR=$(mktemp -d) tar cfz ${TMPDIR}/source.tar.gz vendor/ for d in cmd/*; do if [ -d ${d}/kodata/ ]; then - ln -s ${TMPDIR}/source.tar.gz ${d}/kodata/ + cp ${TMPDIR}/source.tar.gz ${d}/kodata/ fi done