summaryrefslogtreecommitdiff
path: root/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/project-bashtard.yaml
blob: 0642028934a2ace8af1b55dc8e0b2e08e08a226a (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
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: project-bashtard
  namespace: cicd-system
spec:
  arguments:
    parameters:
    - name: ref
      value: origin/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}}
...