diff --git a/task-generator/remote/main.go b/task-generator/remote/main.go index f7fa665145..c001c84e20 100644 --- a/task-generator/remote/main.go +++ b/task-generator/remote/main.go @@ -227,6 +227,10 @@ if ! [[ $IS_LOCALHOST ]]; then ret += "\nbuildah push \"$IMAGE\" \"oci:konflux-final-image:$IMAGE\"" ret += "\nREMOTESSHEOF" ret += "\nchmod +x " + script + "\n" + ret += "\nPODMAN_NVIDIA_ARGS=()" + ret += "\nif [[ \"$PLATFORM\" == \"linux-g\"* ]]; then" + ret += "\n PODMAN_NVIDIA_ARGS+=(\"--device=nvidia.com/gpu=all\" \"--security-opt=label=disable\")" + ret += "\nfi\n" if task.Spec.StepTemplate != nil { for _, e := range task.Spec.StepTemplate.Env { @@ -240,7 +244,7 @@ if ! [[ $IS_LOCALHOST ]]; then env += " -e " + e.Name + "=\"$" + e.Name + "\" \\\n" } podmanArgs += " -v \"$BUILD_DIR/scripts:/scripts:Z\" \\\n" - ret += "\n ssh $SSH_ARGS \"$SSH_HOST\" $PORT_FORWARD podman run " + env + "" + podmanArgs + " --user=0 --rm \"$BUILDER_IMAGE\" /" + containerScript + ` "$@"` + ret += "\n ssh $SSH_ARGS \"$SSH_HOST\" $PORT_FORWARD podman run " + env + "" + podmanArgs + " --user=0 \"${PODMAN_NVIDIA_ARGS[@]}\" --rm \"$BUILDER_IMAGE\" /" + containerScript + ` "$@"` // Sync the contents of the workspaces back so subsequent tasks can use them for _, workspace := range task.Spec.Workspaces { diff --git a/task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml b/task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml index f5d5c55b9b..fc7ed4a459 100644 --- a/task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml +++ b/task/buildah-remote-oci-ta/0.1/buildah-remote-oci-ta.yaml @@ -445,6 +445,11 @@ spec: REMOTESSHEOF chmod +x scripts/script-build.sh + PODMAN_NVIDIA_ARGS=() + if [[ "$PLATFORM" == "linux-g"* ]]; then + PODMAN_NVIDIA_ARGS+=("--device=nvidia.com/gpu=all" "--security-opt=label=disable") + fi + if ! [[ $IS_LOCALHOST ]]; then rsync -ra scripts "$SSH_HOST:$BUILD_DIR" ssh $SSH_ARGS "$SSH_HOST" $PORT_FORWARD podman run $PODMAN_PORT_FORWARD \ @@ -477,7 +482,7 @@ spec: -v "$BUILD_DIR/.docker/:/root/.docker:Z" \ -v "$BUILD_DIR/results/:/tekton/results:Z" \ -v "$BUILD_DIR/scripts:/scripts:Z" \ - --user=0 --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" + --user=0 "${PODMAN_NVIDIA_ARGS[@]}" --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/shared/" /shared/ rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/workdir/" /var/workdir/ rsync -ra "$SSH_HOST:$BUILD_DIR/results/" "/tekton/results/" diff --git a/task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml b/task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml index 9b4b7d8021..98e7b72cc5 100644 --- a/task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml +++ b/task/buildah-remote-oci-ta/0.2/buildah-remote-oci-ta.yaml @@ -574,6 +574,11 @@ spec: REMOTESSHEOF chmod +x scripts/script-build.sh + PODMAN_NVIDIA_ARGS=() + if [[ "$PLATFORM" == "linux-g"* ]]; then + PODMAN_NVIDIA_ARGS+=("--device=nvidia.com/gpu=all" "--security-opt=label=disable") + fi + if ! [[ $IS_LOCALHOST ]]; then rsync -ra scripts "$SSH_HOST:$BUILD_DIR" ssh $SSH_ARGS "$SSH_HOST" $PORT_FORWARD podman run $PODMAN_PORT_FORWARD \ @@ -608,7 +613,7 @@ spec: -v "$BUILD_DIR/.docker/:/root/.docker:Z" \ -v "$BUILD_DIR/results/:/tekton/results:Z" \ -v "$BUILD_DIR/scripts:/scripts:Z" \ - --user=0 --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" + --user=0 "${PODMAN_NVIDIA_ARGS[@]}" --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/shared/" /shared/ rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/workdir/" /var/workdir/ rsync -ra "$SSH_HOST:$BUILD_DIR/results/" "/tekton/results/" diff --git a/task/buildah-remote/0.1/buildah-remote.yaml b/task/buildah-remote/0.1/buildah-remote.yaml index dc779c181b..2dfd4471e2 100644 --- a/task/buildah-remote/0.1/buildah-remote.yaml +++ b/task/buildah-remote/0.1/buildah-remote.yaml @@ -437,6 +437,11 @@ spec: REMOTESSHEOF chmod +x scripts/script-build.sh + PODMAN_NVIDIA_ARGS=() + if [[ "$PLATFORM" == "linux-g"* ]]; then + PODMAN_NVIDIA_ARGS+=("--device=nvidia.com/gpu=all" "--security-opt=label=disable") + fi + if ! [[ $IS_LOCALHOST ]]; then rsync -ra scripts "$SSH_HOST:$BUILD_DIR" ssh $SSH_ARGS "$SSH_HOST" $PORT_FORWARD podman run $PODMAN_PORT_FORWARD \ @@ -470,7 +475,7 @@ spec: -v "$BUILD_DIR/.docker/:/root/.docker:Z" \ -v "$BUILD_DIR/results/:/tekton/results:Z" \ -v "$BUILD_DIR/scripts:/scripts:Z" \ - --user=0 --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" + --user=0 "${PODMAN_NVIDIA_ARGS[@]}" --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" rsync -ra "$SSH_HOST:$BUILD_DIR/workspaces/source/" "$(workspaces.source.path)/" rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/shared/" /shared/ rsync -ra "$SSH_HOST:$BUILD_DIR/results/" "/tekton/results/" diff --git a/task/buildah-remote/0.2/buildah-remote.yaml b/task/buildah-remote/0.2/buildah-remote.yaml index 9d97c15269..107c1427d6 100644 --- a/task/buildah-remote/0.2/buildah-remote.yaml +++ b/task/buildah-remote/0.2/buildah-remote.yaml @@ -552,6 +552,11 @@ spec: REMOTESSHEOF chmod +x scripts/script-build.sh + PODMAN_NVIDIA_ARGS=() + if [[ "$PLATFORM" == "linux-g"* ]]; then + PODMAN_NVIDIA_ARGS+=("--device=nvidia.com/gpu=all" "--security-opt=label=disable") + fi + if ! [[ $IS_LOCALHOST ]]; then rsync -ra scripts "$SSH_HOST:$BUILD_DIR" ssh $SSH_ARGS "$SSH_HOST" $PORT_FORWARD podman run $PODMAN_PORT_FORWARD \ @@ -586,7 +591,7 @@ spec: -v "$BUILD_DIR/.docker/:/root/.docker:Z" \ -v "$BUILD_DIR/results/:/tekton/results:Z" \ -v "$BUILD_DIR/scripts:/scripts:Z" \ - --user=0 --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" + --user=0 "${PODMAN_NVIDIA_ARGS[@]}" --rm "$BUILDER_IMAGE" /scripts/script-build.sh "$@" rsync -ra "$SSH_HOST:$BUILD_DIR/workspaces/source/" "$(workspaces.source.path)/" rsync -ra "$SSH_HOST:$BUILD_DIR/volumes/shared/" /shared/ rsync -ra "$SSH_HOST:$BUILD_DIR/results/" "/tekton/results/"