--- apiVersion: argoproj.io/v1alpha1 kind: WorkflowTemplate metadata: name: fetch-git namespace: cicd-system spec: arguments: parameters: - name: repo value: "" - name: ref value: master - name: path value: "/usr/src" templates: - name: main inputs: parameters: - name: repo value: "{{workflow.parameters.repo}}" - name: ref value: "{{workflow.parameters.ref}}" - name: path value: "{{workflow.parameters.path}}" outputs: artifacts: - name: src path: "{{inputs.parameters.path}}" script: image: debian command: - dash source: | export DEBIAN_FRONTEND=noninteractive export GIT_WORK_TREE="{{inputs.parameters.path}}" export GIT_DIR="$(mktemp -d)" mkdir -pv -- "$GIT_WORK_TREE" 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}}" ...