fix: build static sites outside shared workspace #2

Merged
eding merged 1 commit from fix/local-build-workspace into main 2026-09-08 23:45:52 +02:00
Showing only changes of commit 4ce86da69f - Show all commits

View file

@ -82,10 +82,11 @@ spec:
steps:
- name: build-layer
image: node:22-alpine
workingDir: $(workspaces.source.path)
env:
- name: OUTPUT_DIRECTORY
value: $(params.output-directory)
- name: SOURCE_PATH
value: $(workspaces.source.path)
- name: TARGET_DIRECTORY
value: $(params.target-directory)
- name: BUILD_CONFIGURATION
@ -98,15 +99,18 @@ spec:
target_path=${TARGET_DIRECTORY#/}
case "$target_path" in ''|-*|*[!A-Za-z0-9._/-]*|*..*|*//*|*/) exit 1 ;; esac
case "$BUILD_CONFIGURATION" in ''|-*|*[!A-Za-z0-9._-]*) exit 1 ;; esac
build_dir=$(mktemp -d)
cp -R "$SOURCE_PATH"/. "$build_dir"
cd "$build_dir"
# ponytail: no lockfile; skip install scripts and use npm ci when package-lock.json is committed.
npm install --ignore-scripts --no-audit --no-fund --package-lock=false
npm run build -- --configuration "$BUILD_CONFIGURATION"
test -d "$OUTPUT_DIRECTORY"
layer_dir=$(mktemp -d)
trap 'rm -rf "$layer_dir"' EXIT
trap 'rm -rf "$build_dir" "$layer_dir"' EXIT
mkdir -p "$layer_dir/$target_path"
cp -R "$OUTPUT_DIRECTORY"/. "$layer_dir/$target_path/"
tar -C "$layer_dir" -cf layer.tar "$target_path"
tar -C "$layer_dir" -cf "$SOURCE_PATH/layer.tar" "$target_path"
---
apiVersion: tekton.dev/v1
kind: Task