# apiVersion: argoproj.io/v1alpha1 # kind: WorkflowTemplate # metadata: # name: ci-workflow # spec: # inputs: # parameters: # - name: revision # steps: # - - name: build # template: build-golang-example # arguments: # parameters: # - name: revision # value: "{{inputs.parameters.revision}}" # # the test step expands into three parallel steps running # # different operating system images. each mounts the workdir # # and runs the compiled binary from the build step. # - - name: test # template: run-hello # arguments: # parameters: # - name: os-image # value: "{{item.image}}:{{item.tag}}" # withItems: # - { image: "debian", tag: "9.1" } # - { image: "alpine", tag: "3.6" } # - { image: "ubuntu", tag: "17.10" } # --- # apiVersion: argoproj.io/v1alpha1 # kind: WorkflowTemplate # metadata: # name: build-golang-example # spec: # inputs: # parameters: # - name: revision # artifacts: # - name: code # path: /go/src/github.com/golang/example # git: # repo: https://github.com/golang/example.git # revision: "{{inputs.parameters.revision}}" # container: # image: golang:1.8 # command: [sh, -c] # args: [ # " # cd /go/src/github.com/golang/example/hello && # git status && # go build -v . # ", # ] # volumeMounts: # - name: workdir # mountPath: /go # --- # apiVersion: argoproj.io/v1alpha1 # kind: WorkflowTemplate # metadata: # name: run-hello # spec: # inputs: # parameters: # - name: os-image # container: # image: "{{inputs.parameters.os-image}}" # command: [sh, -c] # args: [ # " # uname -a ; # cat /etc/os-release ; # /go/src/github.com/golang/example/hello/hello # ", # ] # volumeMounts: # - name: workdir # mountPath: /go # --- apiVersion: argoproj.io/v1alpha1 kind: Sensor metadata: name: github namespace: argo-events spec: template: serviceAccountName: argo-events-sa dependencies: - name: test-dep gatewayName: github eventName: example subscription: http: port: 9300 triggers: - template: name: github-workflow-trigger k8s: group: argoproj.io version: v1alpha1 resource: workflows operation: create source: resource: apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: ci-workflow- spec: # ttlStrategy: # secondsAfterCompletion: 10 # Time to live after workflow is completed, replaces ttlSecondsAfterFinished # secondsAfterSuccess: 5 # Time to live after workflow is successful # secondsAfterFailure: 5 # Time to live after workflow fails serviceAccountName: workflow # entrypoint: ci-workflow # entrypoint is the name of the template used as the starting point of the workflow entrypoint: ci-workflow workflowTemplateRef: name: ci-workflow # the 'ci-workflow' template accepts an parameter 'revision', with a default of 'master'. # this can be overridden via argo CLI (e.g. `argo submit ci.yaml -p revision=0dea2d0`) arguments: parameters: - name: revision value: master # a temporary volume, named workdir, will be used as a working directory # for this workflow. This volume is passed around from step to step. volumeClaimTemplates: - metadata: name: workdir spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 1Gi parameters: - src: dependencyName: test-dep dest: spec.arguments.parameters.0.value