summaryrefslogtreecommitdiff
path: root/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml')
-rw-r--r--data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml137
1 files changed, 131 insertions, 6 deletions
diff --git a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml
index cf6282b..64b6ad2 100644
--- a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml
+++ b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml
@@ -9,12 +9,31 @@ spec:
- name: dist-fez
inputs:
parameters:
+ - name: fezUsernameSecret
+ value: "argo-credentials-fez"
+ - name: fezPasswordSecret
+ value: "argo-credentials-fez"
+ - name: fezUsernameSecretKey
+ value: "username"
+ - name: fezPasswordSecretKey
+ value: "password"
- name: workingDir
value: "/work"
- name: workingPVC
value: ""
script:
image: rakudo-star
+ env:
+ - name: FEZ_USERNAME
+ valueFrom:
+ secretKeyRef:
+ name: "{{inputs.parameters.fezUsernameSecret}}"
+ key: "{{inputs.parameters.fezUsernameSecretKey}}"
+ - name: FEZ_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: "{{inputs.parameters.fezPasswordSecret}}"
+ key: "{{inputs.parameters.fezPasswordSecretKey}}"
command:
- sh
source: |
@@ -31,14 +50,25 @@ spec:
spawn fez login
expect ">>= Username*" {
- send -- "tyil\r"
+ send -- "$FEZ_USERNAME\r"
}
expect ">>= Password*" {
- send -- "gvo8xeORGDmm1ktqJPqHG86987L46vuE94Mw1LEu4rUZc5s9siYhnq5sXDC4\r"
+ log_user 0
+ send -- "$FEZ_PASSWORD\r"
+ log_user 1
+ }
+
+ expect {
+ eof {
+ exit 0
+ }
+
+ "*Failed to login*" {
+ exit 1
+ }
}
- expect eof
EOF
printf "\n"
@@ -46,15 +76,110 @@ spec:
expect <<-EOF
set timeout 60
- spawn fez upload
+ spawn fez upload -f
expect {
"Upload anyway*" {
send -- "n\r"
+ exit 1
+ }
+ eof {
+ exit 0
+ }
+ }
+ EOF
+ volumeMounts:
+ - name: workdir
+ mountPath: "{{inputs.parameters.workingDir}}"
+ volumes:
+ - name: workdir
+ persistentVolumeClaim:
+ claimName: "{{inputs.parameters.workingPVC}}"
+
+ - name: qa-fez
+ inputs:
+ parameters:
+ - name: fezUsernameSecret
+ value: "argo-credentials-fez"
+ - name: fezPasswordSecret
+ value: "argo-credentials-fez"
+ - name: fezUsernameSecretKey
+ value: "username"
+ - name: fezPasswordSecretKey
+ value: "password"
+ - name: workingDir
+ value: "/work"
+ - name: workingPVC
+ value: ""
+ script:
+ image: rakudo-star
+ env:
+ - name: FEZ_USERNAME
+ valueFrom:
+ secretKeyRef:
+ name: "{{inputs.parameters.fezUsernameSecret}}"
+ key: "{{inputs.parameters.fezUsernameSecretKey}}"
+ - name: FEZ_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: "{{inputs.parameters.fezPasswordSecret}}"
+ key: "{{inputs.parameters.fezPasswordSecretKey}}"
+ command:
+ - sh
+ source: |
+ cd -- "{{inputs.parameters.workingDir}}"
+
+ set -x
+
+ apt update && apt install -y expect
+ zef install fez --exclude="z"
+
+ expect <<-EOF
+ set timeout 30
+ log_user 0
+
+ spawn fez login
+
+ expect ">>= Username*" {
+ send -- "$FEZ_USERNAME\r"
+ }
+
+ expect ">>= Password*" {
+ send -- "$FEZ_PASSWORD\r"
+ }
+
+ expect {
+ eof {
+ exit 0
+ }
+
+ "*Failed to login*" {
+ exit 1
+ }
+ }
+ EOF
+
+ printf "\n"
+
+ expect <<-EOF
+ set timeout 60
+
+ spawn fez upload --dry-run
+
+ expect {
+ "*ERROR*" {
+ exit 1
+ }
+
+ eof {
+ exit 0
}
- eof { }
}
EOF
+ fez_exit=$?
+
+ rm -fr -- sdist # Who in their right mind leaves trash on a dry-run
+ exit $fez_exit
volumeMounts:
- name: workdir
mountPath: "{{inputs.parameters.workingDir}}"
@@ -63,7 +188,7 @@ spec:
persistentVolumeClaim:
claimName: "{{inputs.parameters.workingPVC}}"
- - name: prove
+ - name: qa-prove
inputs:
parameters:
- name: workingDir