DEV Community

Cover image for πŸ™ βœ… GitHub Actions workflows: How to replace YAML with a visual editor
Sebastian Rath
Sebastian Rath

Posted on

πŸ™ βœ… GitHub Actions workflows: How to replace YAML with a visual editor

Hey folks! πŸ‘‹

In this blog post I would like to talk about GitHub Actions workflows and how I believe they could become much better. Over the last few years I have worked with many repos and I noted how much time I spent on creating and modifying YAML files for GitHub workflows, rather than working on the actual project.

So in true developer fashion, I am working on a solution called Actionforge. Below is a short dive into what I am aiming to solve and how.

What is Actionforge?

Using Actionforge, you can visually create and modify your workflow within a user-friendly editor in VS Code. Each node of your graph represents a GitHub Action. Together, they form what I call an 'Action Graph'. Check out an example here.

Image description

Image description

Once your action graph is ready, you can commit it to your repository.

How to execute an Action Graph as a GitHub workflow?

To execute an action graph as your workflow, you simply create a simple GitHub workflow that includes a single step with the actionforge/action. Then you point to the Action Graph file you want to run. After this setup, you can edit your graph from the Actionforge UI.

Here is a simple example to execute an Action Graph:

# Beginning of your workflow.yml
jobs:
  run-graph:
    - name: Build and deploy my app
    uses: actionforge/action@0.45.3
    with: 
      graph_file: ./github/workflows/graphs/my-graph.yml
# End
Enter fullscreen mode Exit fullscreen mode

The Linear Limitation

Traditional GitHub workflows follow a linear execution order from top to bottom, which can be restrictive. In contrast, Actionforge's Action Graphs enable more complex and versatile node setups with different flow like if-conditions, for-loops, switches and more.

Image description

Executing Action Graphs directly on your GH Runners

Actionforge does not depend on external cloud services. actionforge/action serves as an interpreter, converting your visually designed graph into a sequence of GitHub Action nodes that execute as usual on your designated GitHub runners.

Image description

All repositories will be made public in December. I would love to hear your story. Share your GitHub Actions workflow challenges. Check out Actionforge.

Thanks for reading ❀️

Top comments (2)

Collapse
 
codingchuck profile image
Michael

I find the idea behind it very interesting and I'm curious to see how it can be utilized.

Collapse
 
sebastianrath profile image
Sebastian Rath

Thanks Thomas! Looking forward to get the first release out :-)