summaryrefslogtreecommitdiff
path: root/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util-raku.yaml
blob: cf6282b96f136b530524629eebfed3793185e4e1 (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
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: util-raku
  namespace: cicd-system
spec:
  templates:
  - name: dist-fez
    inputs:
      parameters:
      - name: workingDir
        value: "/work"
      - name: workingPVC
        value: ""
    script:
      image: rakudo-star
      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

          spawn fez login

          expect ">>= Username*" {
            send -- "tyil\r"
          }

          expect ">>= Password*" {
            send -- "gvo8xeORGDmm1ktqJPqHG86987L46vuE94Mw1LEu4rUZc5s9siYhnq5sXDC4\r"
          }

          expect eof
        EOF

        printf "\n"

        expect <<-EOF
          set timeout 60

          spawn fez upload

          expect {
            "Upload anyway*" {
              send -- "n\r"
            }
            eof { }
          }
        EOF
      volumeMounts:
      - name: workdir
        mountPath: "{{inputs.parameters.workingDir}}"
    volumes:
    - name: workdir
      persistentVolumeClaim:
        claimName: "{{inputs.parameters.workingPVC}}"

  - name: prove
    inputs:
      parameters:
      - name: workingDir
        value: "/work"
      - name: workingPVC
        value: ""
    script:
      image: rakudo-star
      command:
      - sh
      source: |
        cd -- "{{inputs.parameters.workingDir}}"

        set -x

        zef install . --deps-only
        prove6 -lv --timer
      volumeMounts:
      - name: workdir
        mountPath: "{{inputs.parameters.workingDir}}"
    volumes:
    - name: workdir
      persistentVolumeClaim:
        claimName: "{{inputs.parameters.workingPVC}}"
...