-
Currently following the docs for hardwired artifacts for git-checkout: https://argo-workflows.readthedocs.io/en/latest/walk-through/hardwired-artifacts/ Works like a charm - however, the repository that I'd like to checkout also uses git-lfs. The checked out artifact however doesn't contain the lfs-tracked files, only the pointers. Is there an easy way to enable git-lfs somehow that I missed? Many thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
In case others stumble on this question: Turned out it's not supported. If I've groked the code correctly (not familiar with Go), argo-workflows is using go-git to checkout the repository: https://github.com/argoproj/argo-workflows/blob/main/workflow/artifacts/git/git.go#L10 And go-git does not support git-lfs currently: go-git/go-git#381 However, it turned out to be relatively straight-forward to do this manually. We need an initial step which does the git-lfs-fetch & git-lfs-checkout, and can then make the lfs-objects available for the remaining steps of the workflow similar to the git-artifact: Everything that git-lfs fetches is stored in the |
Beta Was this translation helpful? Give feedback.
In case others stumble on this question:
Turned out it's not supported. If I've groked the code correctly (not familiar with Go), argo-workflows is using go-git to checkout the repository: https://github.com/argoproj/argo-workflows/blob/main/workflow/artifacts/git/git.go#L10
And go-git does not support git-lfs currently: go-git/go-git#381
However, it turned out to be relatively straight-forward to do this manually. We need an initial step which does the git-lfs-fetch & git-lfs-checkout, and can then make the lfs-objects available for the remaining steps of the workflow similar to the git-artifact: Everything that git-lfs fetches is stored in the
.git/lfs/
-folder, so we can fetch it in one…