10 Commits

Author SHA1 Message Date
Tom Alexander
482d5ecfa3 Switch to local-path-provisioner.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
rust-test Build rust-test has succeeded
foreign-document-test Build foreign-document-test has succeeded
2025-08-31 19:51:03 -04:00
Tom Alexander
84b8ddb582 Merge branch 'add_jump_to_line_number' 2025-02-01 21:55:43 -05:00
Tom Alexander
113bb5888a Add a test with a tramp link.
Some checks failed
rust-test Build rust-test has started
format Build format has succeeded
clippy Build clippy has failed
2025-02-01 19:19:05 -05:00
Tom Alexander
bf5fe6920b Add a test for jump to line number.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
rust-test Build rust-test has failed
2025-02-01 18:42:10 -05:00
Tom Alexander
4b52ed0d2a Fix clippy lint.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
foreign-document-test Build foreign-document-test has succeeded
rust-test Build rust-test has succeeded
2024-10-21 00:25:45 -04:00
Tom Alexander
d2c558ccfa Merge branch 'buildkit'
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
rust-test Build rust-test has succeeded
foreign-document-test Build foreign-document-test has succeeded
2024-10-21 00:13:02 -04:00
Tom Alexander
a01f78b510 Update dockerfiles to take advantage of BuildKit.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
rust-test Build rust-test has succeeded
2024-10-20 23:13:07 -04:00
Tom Alexander
d80b473fae Switch to using BuiltKit instead of Kaniko to build docker images. 2024-10-20 22:55:22 -04:00
Tom Alexander
e6b4bc3d94 Merge branch 'webhook_bridge'
All checks were successful
format Build format has succeeded
clippy Build clippy has succeeded
foreign-document-test Build foreign-document-test has succeeded
rust-test Build rust-test has succeeded
2024-09-30 17:34:52 -04:00
Tom Alexander
c6cde8db74 Switch to using webhook_bridge instead of lighthouse for triggering the CI. 2024-09-30 17:33:54 -04:00
15 changed files with 460 additions and 305 deletions

View File

@@ -1,39 +0,0 @@
apiVersion: config.lighthouse.jenkins-x.io/v1alpha1
kind: TriggerConfig
spec:
postsubmits:
- name: rust-test
source: "pipeline-rust-test.yaml"
# Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/organic.git"
branches:
- ^main$
- ^master$
- name: rust-foreign-document-test
source: "pipeline-foreign-document-test.yaml"
# Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/organic.git"
branches:
- ^main$
- ^master$
- name: build-organic
source: "pipeline-build-organic.yaml"
# Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/organic.git"
branches:
- ^main$
- ^master$
- name: clippy
source: "pipeline-rust-clippy.yaml"
# Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/organic.git"
skip_branches:
# We already run on every commit, so running when the semver tags get pushed is causing needless double-processing.
- "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
- name: format
source: "pipeline-format.yaml"
# Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/organic.git"
skip_branches:
# We already run on every commit, so running when the semver tags get pushed is causing needless double-processing.
- "^v[0-9]+\\.[0-9]+\\.[0-9]+$"

View File

@@ -1,13 +1,22 @@
apiVersion: tekton.dev/v1beta1 apiVersion: tekton.dev/v1
kind: PipelineRun kind: PipelineRun
metadata: metadata:
name: build-organic name: build
spec: spec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m0s"
finally: "0h30m0s"
taskRunTemplate:
serviceAccountName: build-bot
pipelineSpec: pipelineSpec:
params: params:
- name: image-name - name: image-name
description: The name for the built image description: The name for the built image
type: string type: string
- name: target-name
description: The dockerfile target to build
type: string
- name: path-to-image-context - name: path-to-image-context
description: The path to the build context description: The path to the build context
type: string type: string
@@ -20,13 +29,11 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
params: params:
- name: CONTEXT - name: CONTEXT
value: "$(params.JOB_NAME)" value: "$(params.JOB_NAME)"
@@ -35,7 +42,7 @@ spec:
- name: GITEA_HOST_URL - name: GITEA_HOST_URL
value: code.fizz.buzz value: code.fizz.buzz
- name: SHA - name: SHA
value: $(tasks.fetch-repository.results.commit) value: "$(tasks.fetch-repository.results.commit)"
- name: DESCRIPTION - name: DESCRIPTION
value: "Build $(params.JOB_NAME) has started" value: "Build $(params.JOB_NAME) has started"
- name: STATE - name: STATE
@@ -47,7 +54,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -62,36 +69,67 @@ spec:
value: $(params.PULL_BASE_SHA) value: $(params.PULL_BASE_SHA)
- name: deleteExisting - name: deleteExisting
value: "true" value: "true"
- name: get-git-commit-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.20
computeResources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: unix-time
description: The time of the git commit in unix timestamp format.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(git log -1 --pretty=%ct)" | tee $(results.unix-time.path)
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: build-image - name: build-image
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: 7ee31a185243ee6da13dcd26a592c585b64c80e5
- name: pathInRepo - name: pathInRepo
value: task/kaniko/0.6/kaniko.yaml value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params: params:
- name: IMAGE - name: OUTPUT
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: >-
type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.fetch-repository.results.commit)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true
- name: CONTEXT - name: CONTEXT
value: $(params.path-to-image-context) value: $(params.path-to-image-context)
- name: DOCKERFILE - name: DOCKERFILE
value: $(params.path-to-dockerfile) value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS - name: EXTRA_ARGS
value: value:
- --target=wasm - "--opt"
- --cache=true - "target=$(params.target-name)"
- --cache-copy-layers - --import-cache
- --cache-repo=harbor.fizz.buzz/kanikocache/cache - "type=registry,ref=$(params.image-name):buildcache"
- --use-new-run # Should result in a speed-up - --export-cache
- --reproducible # To remove timestamps so layer caching works. - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- --snapshot-mode=redo - --opt
- --skip-unused-stages=true - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local - name: BUILDKITD_TOML
value: |
debug = true
[registry."docker.io"]
mirrors = ["dockerhub.dockerhub.svc.cluster.local"]
[registry."dockerhub.dockerhub.svc.cluster.local"]
http = true
insecure = true
workspaces: workspaces:
- name: source - name: source
workspace: git-source workspace: git-source
@@ -141,7 +179,7 @@ spec:
- build-image - build-image
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-tracing - name: run-image-tracing
taskSpec: taskSpec:
@@ -184,7 +222,7 @@ spec:
- run-image-none - run-image-none
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-compare - name: run-image-compare
taskSpec: taskSpec:
@@ -227,7 +265,7 @@ spec:
- run-image-tracing - run-image-tracing
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-default - name: run-image-default
taskSpec: taskSpec:
@@ -270,7 +308,7 @@ spec:
- run-image-compare - run-image-compare
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-tracing-compare - name: run-image-tracing-compare
taskSpec: taskSpec:
@@ -313,7 +351,7 @@ spec:
- run-image-default - run-image-default
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-compare-foreign - name: run-image-compare-foreign
taskSpec: taskSpec:
@@ -361,7 +399,7 @@ spec:
- run-image-tracing-compare - run-image-tracing-compare
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-all - name: run-image-all
taskSpec: taskSpec:
@@ -409,7 +447,7 @@ spec:
- run-image-compare-foreign - run-image-compare-foreign
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-wasm - name: run-image-wasm
taskSpec: taskSpec:
@@ -463,7 +501,7 @@ spec:
- run-image-all - run-image-all
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
- name: run-image-wasm-test - name: run-image-wasm-test
taskSpec: taskSpec:
@@ -513,7 +551,7 @@ spec:
- run-image-wasm - run-image-wasm
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
############# #############
finally: finally:
- name: report-success - name: report-success
@@ -525,7 +563,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -554,7 +592,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -615,7 +653,7 @@ spec:
subPath: $(params.cache-subdir) subPath: $(params.cache-subdir)
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
- name: cache-subdir - name: cache-subdir
value: none value: none
# matrix: # matrix:
@@ -639,7 +677,7 @@ spec:
- name: git-source - name: git-source
volumeClaimTemplate: volumeClaimTemplate:
spec: spec:
storageClassName: "nfs-client" storageClassName: "local-path"
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
resources: resources:
@@ -652,12 +690,12 @@ spec:
- name: docker-credentials - name: docker-credentials
secret: secret:
secretName: harbor-plain secretName: harbor-plain
serviceAccountName: build-bot
timeout: 240h0m0s
params: params:
- name: image-name - name: image-name
value: "harbor.fizz.buzz/private/organic-development-wasm" value: "harbor.fizz.buzz/private/organic-development-wasm"
- name: target-name
value: "wasm"
- name: path-to-image-context - name: path-to-image-context
value: . value: .
- name: path-to-dockerfile - name: path-to-dockerfile
value: docker/organic_development/Dockerfile value: docker/organic_development/

View File

@@ -1,17 +1,22 @@
apiVersion: tekton.dev/v1beta1 apiVersion: tekton.dev/v1
kind: PipelineRun kind: PipelineRun
metadata: metadata:
name: rust-foreign-document-test name: foreign-document-test
spec: spec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
taskRunTemplate:
serviceAccountName: build-bot
pipelineSpec: pipelineSpec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
params: params:
- name: image-name - name: image-name
description: The name for the built image description: The name for the built image
type: string type: string
- name: target-name
description: The dockerfile target to build
type: string
- name: path-to-image-context - name: path-to-image-context
description: The path to the build context description: The path to the build context
type: string type: string
@@ -19,35 +24,16 @@ spec:
description: The path to the Dockerfile description: The path to the Dockerfile
type: string type: string
tasks: tasks:
- name: do-stuff
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 60Mi
workingDir: /workspace/source
steps:
- image: alpine:3.18
name: do-stuff-step
script: |
#!/usr/bin/env sh
echo "hello world"
- name: report-pending - name: report-pending
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
params: params:
- name: CONTEXT - name: CONTEXT
value: "$(params.JOB_NAME)" value: "$(params.JOB_NAME)"
@@ -68,7 +54,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -83,36 +69,67 @@ spec:
value: $(params.PULL_BASE_SHA) value: $(params.PULL_BASE_SHA)
- name: deleteExisting - name: deleteExisting
value: "true" value: "true"
- name: get-git-commit-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.20
computeResources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: unix-time
description: The time of the git commit in unix timestamp format.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(git log -1 --pretty=%ct)" | tee $(results.unix-time.path)
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: build-image - name: build-image
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: 7ee31a185243ee6da13dcd26a592c585b64c80e5
- name: pathInRepo - name: pathInRepo
value: task/kaniko/0.6/kaniko.yaml value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params: params:
- name: IMAGE - name: OUTPUT
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: >-
type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.fetch-repository.results.commit)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true
- name: CONTEXT - name: CONTEXT
value: $(params.path-to-image-context) value: $(params.path-to-image-context)
- name: DOCKERFILE - name: DOCKERFILE
value: $(params.path-to-dockerfile) value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS - name: EXTRA_ARGS
value: value:
- --target=foreign-document - "--opt"
- --cache=true - "target=$(params.target-name)"
- --cache-copy-layers - --import-cache
- --cache-repo=harbor.fizz.buzz/kanikocache/cache - "type=registry,ref=$(params.image-name):buildcache"
- --use-new-run # Should result in a speed-up - --export-cache
- --reproducible # To remove timestamps so layer caching works. - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- --snapshot-mode=redo - --opt
- --skip-unused-stages=true - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local - name: BUILDKITD_TOML
value: |
debug = true
[registry."docker.io"]
mirrors = ["dockerhub.dockerhub.svc.cluster.local"]
[registry."dockerhub.dockerhub.svc.cluster.local"]
http = true
insecure = true
workspaces: workspaces:
- name: source - name: source
workspace: git-source workspace: git-source
@@ -127,14 +144,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -158,7 +174,7 @@ spec:
- build-image - build-image
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
finally: finally:
- name: report-success - name: report-success
when: when:
@@ -169,7 +185,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -198,7 +214,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -225,14 +241,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -253,7 +268,7 @@ spec:
workspace: cargo-cache workspace: cargo-cache
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
workspaces: workspaces:
- name: git-source - name: git-source
- name: docker-credentials - name: docker-credentials
@@ -262,7 +277,7 @@ spec:
- name: git-source - name: git-source
volumeClaimTemplate: volumeClaimTemplate:
spec: spec:
storageClassName: "nfs-client" storageClassName: "local-path"
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
resources: resources:
@@ -275,11 +290,12 @@ spec:
- name: docker-credentials - name: docker-credentials
secret: secret:
secretName: harbor-plain secretName: harbor-plain
serviceAccountName: build-bot
params: params:
- name: image-name - name: image-name
value: "harbor.fizz.buzz/private/organic-test-foreign-document" value: "harbor.fizz.buzz/private/organic-test-foreign-document"
- name: target-name
value: "foreign-document"
- name: path-to-image-context - name: path-to-image-context
value: docker/organic_test/ value: docker/organic_test/
- name: path-to-dockerfile - name: path-to-dockerfile
value: docker/organic_test/Dockerfile value: docker/organic_test/

View File

@@ -1,17 +1,22 @@
apiVersion: tekton.dev/v1beta1 apiVersion: tekton.dev/v1
kind: PipelineRun kind: PipelineRun
metadata: metadata:
name: rust-format name: rust-format
spec: spec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m0s"
finally: "0h30m0s"
taskRunTemplate:
serviceAccountName: build-bot
pipelineSpec: pipelineSpec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
params: params:
- name: image-name - name: image-name
description: The name for the built image description: The name for the built image
type: string type: string
- name: target-name
description: The dockerfile target to build
type: string
- name: path-to-image-context - name: path-to-image-context
description: The path to the build context description: The path to the build context
type: string type: string
@@ -24,13 +29,11 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
params: params:
- name: CONTEXT - name: CONTEXT
value: "$(params.JOB_NAME)" value: "$(params.JOB_NAME)"
@@ -51,7 +54,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -66,36 +69,67 @@ spec:
value: $(params.PULL_BASE_SHA) value: $(params.PULL_BASE_SHA)
- name: deleteExisting - name: deleteExisting
value: "true" value: "true"
- name: get-git-commit-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.20
computeResources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: unix-time
description: The time of the git commit in unix timestamp format.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(git log -1 --pretty=%ct)" | tee $(results.unix-time.path)
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: build-image - name: build-image
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: 7ee31a185243ee6da13dcd26a592c585b64c80e5
- name: pathInRepo - name: pathInRepo
value: task/kaniko/0.6/kaniko.yaml value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params: params:
- name: IMAGE - name: OUTPUT
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: >-
type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.fetch-repository.results.commit)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true
- name: CONTEXT - name: CONTEXT
value: $(params.path-to-image-context) value: $(params.path-to-image-context)
- name: DOCKERFILE - name: DOCKERFILE
value: $(params.path-to-dockerfile) value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS - name: EXTRA_ARGS
value: value:
- --target=format - "--opt"
- --cache=true - "target=$(params.target-name)"
- --cache-copy-layers - --import-cache
- --cache-repo=harbor.fizz.buzz/kanikocache/cache - "type=registry,ref=$(params.image-name):buildcache"
- --use-new-run # Should result in a speed-up - --export-cache
- --reproducible # To remove timestamps so layer caching works. - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- --snapshot-mode=redo - --opt
- --skip-unused-stages=true - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local - name: BUILDKITD_TOML
value: |
debug = true
[registry."docker.io"]
mirrors = ["dockerhub.dockerhub.svc.cluster.local"]
[registry."dockerhub.dockerhub.svc.cluster.local"]
http = true
insecure = true
workspaces: workspaces:
- name: source - name: source
workspace: git-source workspace: git-source
@@ -110,14 +144,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -143,13 +176,13 @@ spec:
- build-image - build-image
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
- name: commit-changes - name: commit-changes
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -185,7 +218,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -214,7 +247,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -241,14 +274,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -269,7 +301,7 @@ spec:
workspace: cargo-cache workspace: cargo-cache
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
workspaces: workspaces:
- name: git-source - name: git-source
- name: docker-credentials - name: docker-credentials
@@ -278,7 +310,7 @@ spec:
- name: git-source - name: git-source
volumeClaimTemplate: volumeClaimTemplate:
spec: spec:
storageClassName: "nfs-client" storageClassName: "local-path"
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
resources: resources:
@@ -291,11 +323,12 @@ spec:
- name: docker-credentials - name: docker-credentials
secret: secret:
secretName: harbor-plain secretName: harbor-plain
serviceAccountName: build-bot
params: params:
- name: image-name - name: image-name
value: "harbor.fizz.buzz/private/organic-development-format" value: "harbor.fizz.buzz/private/organic-development-format"
- name: target-name
value: "format"
- name: path-to-image-context - name: path-to-image-context
value: docker/organic_development/ value: docker/organic_development/
- name: path-to-dockerfile - name: path-to-dockerfile
value: docker/organic_development/Dockerfile value: docker/organic_development/

View File

@@ -1,17 +1,22 @@
apiVersion: tekton.dev/v1beta1 apiVersion: tekton.dev/v1
kind: PipelineRun kind: PipelineRun
metadata: metadata:
name: rust-clippy name: rust-clippy
spec: spec:
taskRunTemplate:
serviceAccountName: build-bot
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
pipelineSpec: pipelineSpec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
params: params:
- name: image-name - name: image-name
description: The name for the built image description: The name for the built image
type: string type: string
- name: target-name
description: The dockerfile target to build
type: string
- name: path-to-image-context - name: path-to-image-context
description: The path to the build context description: The path to the build context
type: string type: string
@@ -24,13 +29,11 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
params: params:
- name: CONTEXT - name: CONTEXT
value: "$(params.JOB_NAME)" value: "$(params.JOB_NAME)"
@@ -51,7 +54,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -66,36 +69,67 @@ spec:
value: $(params.PULL_BASE_SHA) value: $(params.PULL_BASE_SHA)
- name: deleteExisting - name: deleteExisting
value: "true" value: "true"
- name: get-git-commit-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.20
computeResources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: unix-time
description: The time of the git commit in unix timestamp format.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(git log -1 --pretty=%ct)" | tee $(results.unix-time.path)
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: build-image - name: build-image
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: 7ee31a185243ee6da13dcd26a592c585b64c80e5
- name: pathInRepo - name: pathInRepo
value: task/kaniko/0.6/kaniko.yaml value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params: params:
- name: IMAGE - name: OUTPUT
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: >-
type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.fetch-repository.results.commit)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true
- name: CONTEXT - name: CONTEXT
value: $(params.path-to-image-context) value: $(params.path-to-image-context)
- name: DOCKERFILE - name: DOCKERFILE
value: $(params.path-to-dockerfile) value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS - name: EXTRA_ARGS
value: value:
- --target=clippy - "--opt"
- --cache=true - "target=$(params.target-name)"
- --cache-copy-layers - --import-cache
- --cache-repo=harbor.fizz.buzz/kanikocache/cache - "type=registry,ref=$(params.image-name):buildcache"
- --use-new-run # Should result in a speed-up - --export-cache
- --reproducible # To remove timestamps so layer caching works. - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- --snapshot-mode=redo - --opt
- --skip-unused-stages=true - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local - name: BUILDKITD_TOML
value: |
debug = true
[registry."docker.io"]
mirrors = ["dockerhub.dockerhub.svc.cluster.local"]
[registry."dockerhub.dockerhub.svc.cluster.local"]
http = true
insecure = true
workspaces: workspaces:
- name: source - name: source
workspace: git-source workspace: git-source
@@ -110,14 +144,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -153,7 +186,7 @@ spec:
- build-image - build-image
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
finally: finally:
- name: report-success - name: report-success
when: when:
@@ -164,7 +197,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -193,7 +226,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -220,14 +253,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -248,7 +280,7 @@ spec:
workspace: cargo-cache workspace: cargo-cache
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
workspaces: workspaces:
- name: git-source - name: git-source
- name: docker-credentials - name: docker-credentials
@@ -257,7 +289,7 @@ spec:
- name: git-source - name: git-source
volumeClaimTemplate: volumeClaimTemplate:
spec: spec:
storageClassName: "nfs-client" storageClassName: "local-path"
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
resources: resources:
@@ -270,11 +302,12 @@ spec:
- name: docker-credentials - name: docker-credentials
secret: secret:
secretName: harbor-plain secretName: harbor-plain
serviceAccountName: build-bot
params: params:
- name: image-name - name: image-name
value: "harbor.fizz.buzz/private/organic-development-clippy" value: "harbor.fizz.buzz/private/organic-development-clippy"
- name: target-name
value: "clippy"
- name: path-to-image-context - name: path-to-image-context
value: docker/organic_development/ value: docker/organic_development/
- name: path-to-dockerfile - name: path-to-dockerfile
value: docker/organic_development/Dockerfile value: docker/organic_development/

View File

@@ -1,17 +1,22 @@
apiVersion: tekton.dev/v1beta1 apiVersion: tekton.dev/v1
kind: PipelineRun kind: PipelineRun
metadata: metadata:
name: rust-test name: rust-test
spec: spec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
taskRunTemplate:
serviceAccountName: build-bot
pipelineSpec: pipelineSpec:
timeouts:
pipeline: "2h0m0s"
tasks: "1h0m40s"
finally: "0h30m0s"
params: params:
- name: image-name - name: image-name
description: The name for the built image description: The name for the built image
type: string type: string
- name: target-name
description: The dockerfile target to build
type: string
- name: path-to-image-context - name: path-to-image-context
description: The path to the build context description: The path to the build context
type: string type: string
@@ -19,35 +24,16 @@ spec:
description: The path to the Dockerfile description: The path to the Dockerfile
type: string type: string
tasks: tasks:
- name: do-stuff
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 60Mi
workingDir: /workspace/source
steps:
- image: alpine:3.18
name: do-stuff-step
script: |
#!/usr/bin/env sh
echo "hello world"
- name: report-pending - name: report-pending
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
params: params:
- name: CONTEXT - name: CONTEXT
value: "$(params.JOB_NAME)" value: "$(params.JOB_NAME)"
@@ -68,7 +54,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -83,36 +69,67 @@ spec:
value: $(params.PULL_BASE_SHA) value: $(params.PULL_BASE_SHA)
- name: deleteExisting - name: deleteExisting
value: "true" value: "true"
- name: get-git-commit-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.20
computeResources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: unix-time
description: The time of the git commit in unix timestamp format.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(git log -1 --pretty=%ct)" | tee $(results.unix-time.path)
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: build-image - name: build-image
taskRef: taskRef:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: 7ee31a185243ee6da13dcd26a592c585b64c80e5
- name: pathInRepo - name: pathInRepo
value: task/kaniko/0.6/kaniko.yaml value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml
params: params:
- name: IMAGE - name: OUTPUT
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: >-
type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.fetch-repository.results.commit)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true
- name: CONTEXT - name: CONTEXT
value: $(params.path-to-image-context) value: $(params.path-to-image-context)
- name: DOCKERFILE - name: DOCKERFILE
value: $(params.path-to-dockerfile) value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS - name: EXTRA_ARGS
value: value:
- --target=tester - "--opt"
- --cache=true - "target=$(params.target-name)"
- --cache-copy-layers - --import-cache
- --cache-repo=harbor.fizz.buzz/kanikocache/cache - "type=registry,ref=$(params.image-name):buildcache"
- --use-new-run # Should result in a speed-up - --export-cache
- --reproducible # To remove timestamps so layer caching works. - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true"
- --snapshot-mode=redo - --opt
- --skip-unused-stages=true - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time)
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local - name: BUILDKITD_TOML
value: |
debug = true
[registry."docker.io"]
mirrors = ["dockerhub.dockerhub.svc.cluster.local"]
[registry."dockerhub.dockerhub.svc.cluster.local"]
http = true
insecure = true
workspaces: workspaces:
- name: source - name: source
workspace: git-source workspace: git-source
@@ -120,21 +137,20 @@ spec:
workspace: docker-credentials workspace: docker-credentials
runAfter: runAfter:
- fetch-repository - fetch-repository
- name: run-test - name: run-cargo-test
taskSpec: taskSpec:
metadata: {} metadata: {}
params: params:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -146,7 +162,7 @@ spec:
- name: run - name: run
image: $(params.docker-image) image: $(params.docker-image)
workingDir: "$(workspaces.source.path)" workingDir: "$(workspaces.source.path)"
command: ["cargo", "test"] command: [cargo, test]
args: args:
[ [
--no-default-features, --no-default-features,
@@ -169,7 +185,7 @@ spec:
- build-image - build-image
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
finally: finally:
- name: report-success - name: report-success
when: when:
@@ -180,7 +196,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -209,7 +225,7 @@ spec:
resolver: git resolver: git
params: params:
- name: url - name: url
value: https://github.com/tektoncd/catalog.git value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
- name: revision - name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo - name: pathInRepo
@@ -236,14 +252,13 @@ spec:
- name: docker-image - name: docker-image
type: string type: string
description: Docker image to run. description: Docker image to run.
default: alpine:3.18 default: alpine:3.20
stepTemplate: stepTemplate:
image: alpine:3.18 image: alpine:3.20
name: "" computeResources:
resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 60Mi memory: 600Mi
workingDir: /workspace/source workingDir: /workspace/source
workspaces: workspaces:
- name: source - name: source
@@ -264,7 +279,7 @@ spec:
workspace: cargo-cache workspace: cargo-cache
params: params:
- name: docker-image - name: docker-image
value: "$(params.image-name):$(tasks.fetch-repository.results.commit)" value: "$(tasks.build-image.results.IMAGE_URL[1])"
workspaces: workspaces:
- name: git-source - name: git-source
- name: docker-credentials - name: docker-credentials
@@ -273,7 +288,7 @@ spec:
- name: git-source - name: git-source
volumeClaimTemplate: volumeClaimTemplate:
spec: spec:
storageClassName: "nfs-client" storageClassName: "local-path"
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
resources: resources:
@@ -286,11 +301,12 @@ spec:
- name: docker-credentials - name: docker-credentials
secret: secret:
secretName: harbor-plain secretName: harbor-plain
serviceAccountName: build-bot
params: params:
- name: image-name - name: image-name
value: "harbor.fizz.buzz/private/organic-test" value: "harbor.fizz.buzz/private/organic-test"
- name: target-name
value: "tester"
- name: path-to-image-context - name: path-to-image-context
value: docker/organic_test/ value: docker/organic_test/
- name: path-to-dockerfile - name: path-to-dockerfile
value: docker/organic_test/Dockerfile value: docker/organic_test/

View File

@@ -0,0 +1,31 @@
version = "0.0.1"
[[push]]
name = "rust-test"
source = "pipeline-rust-test.yaml"
clone_uri = "git@code.fizz.buzz:talexander/organic.git"
skip_branches = [ "^v[0-9]+\\.[0-9]+\\.[0-9]+$" ]
[[push]]
name = "foreign-document-test"
source = "pipeline-foreign-document-test.yaml"
clone_uri = "git@code.fizz.buzz:talexander/organic.git"
branches = [ "^main$", "^master$" ]
[[push]]
name = "clippy"
source = "pipeline-rust-clippy.yaml"
clone_uri = "git@code.fizz.buzz:talexander/organic.git"
skip_branches = [ "^v[0-9]+\\.[0-9]+\\.[0-9]+$" ]
[[push]]
name = "format"
source = "pipeline-format.yaml"
clone_uri = "git@code.fizz.buzz:talexander/organic.git"
skip_branches = [ "^v[0-9]+\\.[0-9]+\\.[0-9]+$" ]
[[push]]
name = "build"
source = "pipeline-build-hash.yaml"
clone_uri = "git@code.fizz.buzz:talexander/organic.git"
branches = [ "^main$", "^master$" ]

View File

@@ -26,7 +26,7 @@ fn main() {
dir_entry.file_type().is_file() dir_entry.file_type().is_file()
&& Path::new(dir_entry.file_name()) && Path::new(dir_entry.file_name())
.extension() .extension()
.map(|ext| ext.to_ascii_lowercase() == "org") .map(|ext| ext.eq_ignore_ascii_case("org"))
.unwrap_or(false) .unwrap_or(false)
} }
Err(_) => true, Err(_) => true,

View File

@@ -1,7 +1,10 @@
FROM rustlang/rust:nightly-alpine3.19 AS builder # syntax=docker/dockerfile:1
ARG ALPINE_VERSION="3.20"
FROM rustlang/rust:nightly-alpine$ALPINE_VERSION AS builder
RUN apk add --no-cache musl-dev RUN apk add --no-cache musl-dev
RUN cargo install --locked --no-default-features --features ci-autoclean cargo-cache RUN --mount=type=tmpfs,target=/tmp --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked cargo install --locked --no-default-features --features ci-autoclean cargo-cache
RUN rustup component add rustc-codegen-cranelift RUN rustup component add rustc-codegen-cranelift
FROM builder AS format FROM builder AS format

View File

@@ -1,10 +1,25 @@
FROM alpine:3.19 AS build # syntax=docker/dockerfile:1
ARG ALPINE_VERSION="3.20"
# ARG EMACS_REPO=https://git.savannah.gnu.org/git/emacs.git
ARG EMACS_REPO=https://code.fizz.buzz/mirror/emacs.git
ARG EMACS_VERSION=emacs-29.1
# ARG ORG_MODE_REPO=https://git.savannah.gnu.org/git/emacs/org-mode.git
ARG ORG_MODE_REPO=https://code.fizz.buzz/mirror/org-mode.git
ARG ORG_VERSION=abf5156096c06ee5aa05795c3dc5a065f76ada97
FROM alpine:$ALPINE_VERSION AS build
RUN apk add --no-cache build-base musl-dev git autoconf make texinfo gnutls-dev ncurses-dev gawk libgccjit-dev RUN apk add --no-cache build-base musl-dev git autoconf make texinfo gnutls-dev ncurses-dev gawk libgccjit-dev
FROM build AS build-emacs FROM build AS build-emacs
ARG EMACS_VERSION=emacs-29.1 ARG EMACS_VERSION
RUN git clone --depth 1 --branch $EMACS_VERSION https://git.savannah.gnu.org/git/emacs.git /root/emacs ARG EMACS_REPO
RUN git clone --depth 1 --branch $EMACS_VERSION $EMACS_REPO /root/emacs
WORKDIR /root/emacs WORKDIR /root/emacs
RUN mkdir /root/dist RUN mkdir /root/dist
RUN ./autogen.sh RUN ./autogen.sh
@@ -14,24 +29,25 @@ RUN make DESTDIR="/root/dist" install
FROM build AS build-org-mode FROM build AS build-org-mode
ARG ORG_VERSION=abf5156096c06ee5aa05795c3dc5a065f76ada97 ARG ORG_VERSION
COPY --from=build-emacs /root/dist/ / ARG ORG_MODE_REPO
COPY --link --from=build-emacs /root/dist/ /
RUN mkdir /root/dist RUN mkdir /root/dist
# Savannah does not allow fetching specific revisions, so we're going to have to put unnecessary load on their server by cloning main and then checking out the revision we want. # Savannah does not allow fetching specific revisions, so we're going to have to put unnecessary load on their server by cloning main and then checking out the revision we want.
RUN git clone https://git.savannah.gnu.org/git/emacs/org-mode.git /root/org-mode && git -C /root/org-mode checkout $ORG_VERSION RUN git clone $ORG_MODE_REPO /root/org-mode && git -C /root/org-mode checkout $ORG_VERSION
# RUN mkdir /root/org-mode && git -C /root/org-mode init --initial-branch=main && git -C /root/org-mode remote add origin https://git.savannah.gnu.org/git/emacs/org-mode.git && git -C /root/org-mode fetch origin $ORG_VERSION && git -C /root/org-mode checkout FETCH_HEAD # RUN mkdir /root/org-mode && git -C /root/org-mode init --initial-branch=main && git -C /root/org-mode remote add origin $ORG_REPO && git -C /root/org-mode fetch origin $ORG_VERSION && git -C /root/org-mode checkout FETCH_HEAD
WORKDIR /root/org-mode WORKDIR /root/org-mode
RUN make compile RUN make compile
RUN make DESTDIR="/root/dist" install RUN make DESTDIR="/root/dist" install
FROM rustlang/rust:nightly-alpine3.19 AS tester FROM rustlang/rust:nightly-alpine$ALPINE_VERSION AS tester
ENV LANG=en_US.UTF-8 ENV LANG=en_US.UTF-8
RUN apk add --no-cache musl-dev ncurses gnutls libgccjit RUN apk add --no-cache musl-dev ncurses gnutls libgccjit
RUN cargo install --locked --no-default-features --features ci-autoclean cargo-cache RUN --mount=type=tmpfs,target=/tmp --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked cargo install --locked --no-default-features --features ci-autoclean cargo-cache
RUN rustup component add rustc-codegen-cranelift RUN rustup component add rustc-codegen-cranelift
COPY --from=build-emacs /root/dist/ / COPY --link --from=build-emacs /root/dist/ /
COPY --from=build-org-mode /root/dist/ / COPY --link --from=build-org-mode /root/dist/ /
ENTRYPOINT ["cargo", "test"] ENTRYPOINT ["cargo", "test"]
@@ -104,10 +120,10 @@ RUN rm $LITERATE_BUILD_EMACS_PATH/unused/aws.org
FROM tester as foreign-document FROM tester as foreign-document
RUN apk add --no-cache bash coreutils RUN apk add --no-cache bash coreutils
RUN mkdir /foreign_documents RUN mkdir /foreign_documents
COPY --from=foreign-document-gather /foreign_documents/howardabrams /foreign_documents/howardabrams COPY --link --from=foreign-document-gather /foreign_documents/howardabrams /foreign_documents/howardabrams
COPY --from=foreign-document-gather /foreign_documents/doomemacs /foreign_documents/doomemacs COPY --link --from=foreign-document-gather /foreign_documents/doomemacs /foreign_documents/doomemacs
COPY --from=foreign-document-gather /foreign_documents/worg /foreign_documents/worg COPY --link --from=foreign-document-gather /foreign_documents/worg /foreign_documents/worg
COPY --from=foreign-document-gather /foreign_documents/literate_build_emacs /foreign_documents/literate_build_emacs COPY --link --from=foreign-document-gather /foreign_documents/literate_build_emacs /foreign_documents/literate_build_emacs
COPY --from=build-org-mode /root/org-mode /foreign_documents/org-mode COPY --link --from=build-org-mode /root/org-mode /foreign_documents/org-mode
COPY --from=build-emacs /root/emacs /foreign_documents/emacs COPY --link --from=build-emacs /root/emacs /foreign_documents/emacs
ENTRYPOINT ["cargo", "run", "--bin", "foreign_document_test", "--features", "compare,foreign_document_test", "--profile", "release-lto"] ENTRYPOINT ["cargo", "run", "--bin", "foreign_document_test", "--features", "compare,foreign_document_test", "--profile", "release-lto"]

View File

@@ -0,0 +1 @@
[[file:simple.org::2]]

View File

@@ -0,0 +1 @@
[[/ssh:admin@test.example:important/file.pdf]]

View File

@@ -1,7 +1,6 @@
#![feature(exit_status_error)] #![feature(exit_status_error)]
#![feature(trait_alias)] #![feature(trait_alias)]
#![feature(path_file_prefix)] #![feature(path_file_prefix)]
#![feature(is_sorted)]
#![feature(test)] #![feature(test)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]

View File

@@ -47,6 +47,7 @@ pub struct Section<'s> {
} }
#[derive(Debug)] #[derive(Debug)]
#[allow(clippy::large_enum_variant)]
pub enum DocumentElement<'s> { pub enum DocumentElement<'s> {
Heading(Heading<'s>), Heading(Heading<'s>),
Section(Section<'s>), Section(Section<'s>),

View File

@@ -2,6 +2,7 @@
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_default_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_default_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
@@ -11,6 +12,7 @@ async fn autogen_default_{name}() -> Result<(), Box<dyn std::error::Error>> {{
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_la_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_la_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
@@ -24,6 +26,7 @@ async fn autogen_la_{name}() -> Result<(), Box<dyn std::error::Error>> {{
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_t1_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_t1_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
@@ -37,6 +40,7 @@ async fn autogen_t1_{name}() -> Result<(), Box<dyn std::error::Error>> {{
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_t16_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_t16_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
@@ -50,6 +54,7 @@ async fn autogen_t16_{name}() -> Result<(), Box<dyn std::error::Error>> {{
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_odd_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_odd_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");
@@ -64,6 +69,7 @@ async fn autogen_odd_{name}() -> Result<(), Box<dyn std::error::Error>> {{
#[cfg(feature = "wasm_test")] #[cfg(feature = "wasm_test")]
{expect_fail} {expect_fail}
#[tokio::test] #[tokio::test]
#[allow(clippy::needless_return)]
async fn autogen_wasm_{name}() -> Result<(), Box<dyn std::error::Error>> {{ async fn autogen_wasm_{name}() -> Result<(), Box<dyn std::error::Error>> {{
let org_path = "{path}"; let org_path = "{path}";
let org_contents = std::fs::read_to_string(org_path).expect("Read org file."); let org_contents = std::fs::read_to_string(org_path).expect("Read org file.");