4 Commits

Author SHA1 Message Date
Tom Alexander
dda7b69019 Remove buildkitd mount.
The tmpfs mount is causing error: filesystem error: cannot rename: Invalid cross-device link [/nix/store/jhgx51j6f15drbmxia2zdkvakhixvh5z-organic_ast_explorer-0.0.0-npm-deps.tmp] [/nix/store/jhgx51j6f15drbmxia2zdkvakhixvh5z-organic_ast_explorer-0.0.0-npm-deps]
2026-07-16 19:40:59 -04:00
Tom Alexander
31376f29c6 Update builder image for buildkit. 2026-07-09 20:22:54 -04:00
Tom Alexander
296c1602f4 Introduce a git-clone task.
The official git-clone task her permission issues when cloning a private repo, so I'm introducing my own.
2026-07-08 18:28:07 -04:00
Tom Alexander
af22c87d0d Update the buildkit task. 2026-05-02 22:15:52 -04:00
2 changed files with 61 additions and 18 deletions

View File

@@ -22,10 +22,6 @@ spec:
description: Includes credentials for the docker image registry.
optional: true
mountPath: /home/user/.docker
- name: buildkit-cache
description: For preserving buildkit type=cache mounts between builds.
optional: true
mountPath: /home/user/.local/share/buildkit
params:
- name: OUTPUT
type: string
@@ -44,8 +40,7 @@ spec:
- name: BUILDER_IMAGE
type: string
description: Docker image containing BuildKit.
default: "moby/buildkit:v0.17.0-rc1-rootless"
# or v0.16.0-rootless
default: "moby/buildkit:v0.31.1-rootless"
- name: EXTRA_ARGS
type: array
description: Arguments passed to the build command.
@@ -66,18 +61,6 @@ spec:
- name: metadata-out
emptyDir: {}
steps:
- name: setup-cache-ownership
image: $(params.BUILDER_IMAGE)
workingDir: "$(workspaces.source.path)"
script: |
#!/usr/bin/env sh
set -euo pipefail
chown 1000:1000 /home/user/.local/share/buildkit
chmod 0777 /home/user/.local/share/buildkit
securityContext:
runAsNonRoot: false
runAsUser: 0
runAsGroup: 0
- name: write-config
image: $(params.BUILDER_IMAGE)
workingDir: "$(workspaces.source.path)"

View File

@@ -0,0 +1,60 @@
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: git-clone
labels:
app.kubernetes.io/version: "0.1"
annotations:
tekton.dev/categories: SCM
tekton.dev/pipelines.minVersion: "1.12.1"
tekton.dev/tags: scm
tekton.dev/displayName: "Clone a git repository."
tekton.dev/platforms: "linux/amd64"
spec:
description: >-
This task will clone a git repository.
workspaces:
- name: output
mountPath: /output
readOnly: false
params:
- name: url
type: string
description: The repository url to clone.
- name: revision
type: string
description: The revision to clone.
- name: IMAGE
type: string
description: Docker image to use for performing the clone.
default: "alpine/git:v2.54.0"
results:
- name: commit
type: string
description: The commit hash that was cloned.
- name: url
type: string
description: The URL to the git repo.
- name: committer-date
type: string
description: The time of the git commit in unix timestamp format.
steps:
- name: fetch-repository-step
image: $(params.IMAGE)
workingDir: "$(workspaces.output.path)"
script: |
#!/usr/bin/env sh
set -euo pipefail
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new"
git init --initial-branch=main
git remote add origin $(params.url)
git fetch -v origin $(params.revision)
git checkout FETCH_HEAD
echo -n $(git rev-parse HEAD) > $(results.commit.path)
echo -n "$(params.url)" > $(results.url.path)
echo -n "$(git log -1 --pretty=%ct)" > $(results.committer-date.path)
# securityContext:
# runAsNonRoot: true
# runAsUser: 1000
# runAsGroup: 1000