diff options
author | Patrick Spek <p.spek@tyil.nl> | 2023-08-24 10:01:57 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2023-08-24 10:01:57 +0200 |
commit | 9650740fd19ce89f4fa296bad2c3baf8836b6564 (patch) | |
tree | f1e4f6cd4a4ec9b44dd40c9564328810852da978 /data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates | |
parent | c765930403eaa140a2ff2cd05f8a9daea00eb10d (diff) |
Add Argo Workflows
Diffstat (limited to 'data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates')
3 files changed, 169 insertions, 0 deletions
diff --git a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/fetch-git.yaml b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/fetch-git.yaml new file mode 100644 index 0000000..785028d --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/fetch-git.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: WorkflowTemplate +metadata: + name: fetch-git + namespace: cicd-system +spec: + arguments: + parameters: + - name: repo + value: "" + - name: ref + value: master + - name: path + value: "/usr/src" + templates: + - name: main + inputs: + parameters: + - name: repo + value: "{{workflow.parameters.repo}}" + - name: ref + value: "{{workflow.parameters.ref}}" + - name: path + value: "{{workflow.parameters.path}}" + outputs: + artifacts: + - name: src + path: "{{inputs.parameters.path}}" + script: + image: debian + command: + - dash + source: | + export DEBIAN_FRONTEND=noninteractive + export GIT_WORK_TREE="{{inputs.parameters.path}}" + export GIT_DIR="$(mktemp -d)" + mkdir -pv -- "$GIT_WORK_TREE" + + apt update && apt install -y git + + git init + git remote add origin "{{inputs.parameters.repo}}" + git fetch origin -a + git reset --hard "origin/{{inputs.parameters.ref}}" +... diff --git a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/project-bashtard.yaml b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/project-bashtard.yaml new file mode 100644 index 0000000..e2b399d --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/project-bashtard.yaml @@ -0,0 +1,92 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: WorkflowTemplate +metadata: + name: project-bashtard + namespace: cicd-system +spec: + podGC: + deleteDelayDuration: 1h + arguments: + parameters: + - name: ref + value: master + templates: + - name: main + steps: + - - name: fetch + templateRef: + name: fetch-git + template: main + arguments: + parameters: + - name: ref + value: "{{workflow.parameters.ref}}" + - name: repo + value: "https://git.tyil.nl/bashtard" + - - name: qa-reuse + templateRef: + name: qa-reuse + template: main + arguments: + artifacts: + - name: src + from: "{{steps.fetch.outputs.artifacts.src}}" + - name: qa-shellcheck + template: qa-shellcheck + arguments: + artifacts: + - name: src + from: "{{steps.fetch.outputs.artifacts.src}}" + - - name: dist-tar-gz + template: dist + arguments: + artifacts: + - name: src + from: "{{steps.fetch.outputs.artifacts.src}}" + parameters: + - name: format + value: targz + - name: dist-deb + template: dist + arguments: + artifacts: + - name: src + from: "{{steps.fetch.outputs.artifacts.src}}" + parameters: + - name: format + value: debian + + - name: qa-shellcheck + inputs: + artifacts: + - name: src + path: "/code" + script: + image: pipelinecomponents/shellcheck + command: + - bash + source: |- + shellcheck -s sh bin/bashtard + shellcheck -x -s bash **/*.bash + + - name: dist + inputs: + artifacts: + - name: src + path: "/usr/src/bashtard-{{workflow.parameters.ref}}" + parameters: + - name: format + value: "targz" + script: + image: debian + command: + - dash + source: |- + export DEBIAN_FRONTEND=noninteractive + + cd -- "/usr/src/bashtard-{{workflow.parameters.ref}}" + + apt update && apt install -y make + make pkg-{{inputs.parameters.format}} +... diff --git a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/qa-reuse.yaml b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/qa-reuse.yaml new file mode 100644 index 0000000..7c7d455 --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/qa-reuse.yaml @@ -0,0 +1,31 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: WorkflowTemplate +metadata: + name: qa-reuse + namespace: cicd-system +spec: + arguments: + parameters: + - name: path + value: "/usr/src" + artifacts: + - name: src + from: "" + templates: + - name: main + inputs: + parameters: + - name: path + value: "{{workflow.parameters.path}}" + artifacts: + - name: src + path: "{{workflow.artifacts.path}}" + container: + image: fsfe/reuse + workdir: "{{inputs.parameters.path}}" + command: + - reuse + args: + - lint +... |