gflows

command module
v0.0.0-...-552dcf1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2022 License: MIT Imports: 2 Imported by: 0

README

Do you really need this?

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 - GitHub Workflow Templates

Build Status Maintainability Test Coverage

GFlows is a CLI tool that makes templating GitHub Workflows easy, using either Jsonnet or ytt (Yaml Templating Tool). It can:

  • Import existing workflows to help you quickly get started.
  • Validate GitHub workflows are up to date with their source templates and conform to a valid schema.
  • Share common config code and workflows with GFlows Packages.
  • Watch changes to the templates, so you can develop and refactor workflows with fast feedback on your changes.

Example refactor

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!

Installing

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

Getting Started

See Getting Started.

Docs

See the wiki for detailed documentation.

Documentation

Overview

Copyright © 2020 NAME HERE <EMAIL ADDRESS>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
e2e
io
pkg
static

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL