blob: 465311b64e0768a7224574e3bb01a72558088faf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: util
namespace: cicd-system
spec:
templates:
- name: fetch-git
inputs:
parameters:
- name: repo
value: ""
- name: ref
value: "origin/master"
- name: workingDir
value: "/work"
- name: workingPVC
value: ""
script:
image: debian
command:
- dash
source: |
export DEBIAN_FRONTEND=noninteractive
export GIT_WORK_TREE="{{inputs.parameters.workingDir}}"
export GIT_DIR="$GIT_WORK_TREE/.git"
apt update && apt install -y git
git init
git remote add origin "{{inputs.parameters.repo}}"
git fetch origin -a
git reset --hard "{{inputs.parameters.ref}}"
volumeMounts:
- name: workdir
mountPath: "{{inputs.parameters.workingDir}}"
volumes:
- name: workdir
persistentVolumeClaim:
claimName: "{{inputs.parameters.workingPVC}}"
- name: pvc-create
inputs:
parameters:
- name: size
value: 1Gi
- name: storageClass
value: longhorn
- name: namePrefix
value: argo-
outputs:
parameters:
- name: name
valueFrom:
jsonPath: "{.metadata.name}"
resource:
action: create
setOwnerReference: true
manifest: |
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
generateName: "{{inputs.parameters.namePrefix}}"
spec:
storageClassName: "{{inputs.parameters.storageClass}}"
accessModes:
- ReadWriteMany
resources:
requests:
storage: "{{inputs.parameters.size}}"
- name: pvc-delete
inputs:
parametes:
- name: name
value: ""
resource:
action: delete
manifest: |
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "{{inputs.parameters.name}}"
- name: qa-reuse
inputs:
parameters:
- name: workingDir
value: "/work"
- name: workingPVC
value: ""
script:
image: fsfe/reuse
command:
- sh
source: |
cd -- "{{inputs.parameters.workingDir}}"
reuse lint
volumeMounts:
- name: workdir
mountPath: "{{inputs.parameters.workingDir}}"
volumes:
- name: workdir
persistentVolumeClaim:
claimName: "{{inputs.parameters.workingPVC}}"
...
|