I created this tool when GitHub Actions was a less mature product. If you want to share workflows across repos, or call one workflow from another, then you should probably check out the GitHub docs for reusing workflows.
I will probably deprecate this tool at some point, given the options available with GitHub Actions itself.
GFlows is a CLI tool that makes templating GitHub Workflows easy, using either Jsonnet or ytt (Yaml Templating Tool). It can:
Note: this project is very new so I expect there is room for improvement, but I've used it comfortably in my own projects and the risk of adoption is low since it mostly just builds on top of existing tooling (primarily Jsonnet and ytt). If you have any feedback I'd love to hear it!
Either download from Releases or install with Go:
go install github.com/jbrunton/gflows@latest
You can also install in GitHub workflows using the setup-gflows action:
steps:
- uses: jbrunton/setup-gflows@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- run: gflows check
See Getting Started.
See the wiki for detailed documentation.