consolelog.tools

GitHub Actions Generator

Build a complete, valid GitHub Actions workflow visually — triggers with branch/path filters, multiple jobs with a build matrix and job dependencies, and steps assembled from a catalog of the real actions (checkout, setup-node, cache, deploy-pages, docker build-push…). The YAML renders live as you edit, and a linter catches the mistakes people actually ship: missing checkout, a deploy job without pages permissions, a hard-coded secret, or a needs reference to a job that doesn't exist.

About this ToolHow it works, benefits & use cases

Most GitHub Actions generators hand you one fixed template and leave the editing to you. This one is a real workflow builder: it models the workflow as triggers, jobs, a build matrix, and ordered steps, then emits valid YAML live as you edit. Choose your events (push, pull_request, workflow_dispatch, schedule, release) with branch and path filters, set repository permissions and a concurrency group, and declare workflow-level env vars. Add as many jobs as you need, give each a runner, an optional Node build matrix, and needs dependencies on other jobs, then assemble steps from a catalogue of the real actions — actions/checkout, setup-node, cache, upload-artifact, deploy-pages, docker build-push — or drop in custom run commands and custom uses steps, reordering them inline. A built-in linter flags the mistakes people actually ship, and the whole workflow is captured in a shareable URL so you can hand a teammate the exact pipeline.

How to Use

  1. 1Start from a preset (Node CI, Deploy to Pages, Publish to npm, Docker, Python CI) or build from scratch.
  2. 2Pick your triggers and add branch/path filters or a cron schedule; set permissions and concurrency.
  3. 3Add jobs — give each a runner, optionally enable a Node matrix, and set needs dependencies.
  4. 4Assemble each job’s steps from the catalogue (checkout, setup-node, cache, build, deploy…) or add custom run/uses steps, then reorder them.
  5. 5Watch the YAML render live, read the linter for problems, then copy or download workflow.yml into .github/workflows/.

Key Benefits

  • A true builder — multiple jobs, a build matrix, and needs dependencies, not a single template
  • Steps assembled from a catalogue of the real, current actions (checkout v4, setup-node v4, deploy-pages v4…)
  • Live, valid YAML that re-renders instantly as you edit — including correct matrix and expression syntax
  • A linter that catches missing checkout, deploy without pages permissions, hard-coded secrets, and bad needs references
  • Triggers with branch/path filters and cron, configurable permissions, concurrency, and env
  • Five presets covering CI, GitHub Pages, npm publish, Docker, and Python
  • Shareable URL captures the entire workflow for handoff

Common Use Cases

  • Standing up a Node CI pipeline that lints, tests, and builds across a version matrix
  • Wiring a build → deploy job chain for GitHub Pages with the correct permissions
  • Generating a Docker build-and-push workflow or an npm publish-on-release workflow
  • Teaching the structure of a workflow — jobs, matrix, needs — by seeing the YAML update as you change the model
  • Auditing a draft workflow for missing checkout, leaked secrets, or permission gaps before committing it

1 job · .github/workflows/

name: Node CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    name: Build & test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        node-version: ["18", "20", "22"]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: npm
      - name: Install dependencies
        run: npm ci
      - name: Lint
        run: npm run lint
      - name: Test
        run: npm test
      - name: Build
        run: npm run build
Workflow looks valid

Start from a preset

Workflow

Adds a concurrency group keyed on workflow + ref.

Triggers

Environment variables

No workflow-level env vars.

Jobs

Node versions

runs-on becomes ${{ matrix.os }} across these versions.

Steps
Checkout code
Setup Node.js
Install dependencies
Lint
Run tests
Build

A builder, not a template picker

Most generators hand you one fixed template. This one models the workflow — jobs, a build matrix, needs dependencies, and steps from a catalog of the actual actions — and emits the YAML live, so you can compose exactly the pipeline you want and still get valid output.

What the linter catches

  • Build/test steps with no actions/checkout — your code never lands on the runner.
  • A Deploy-Pages step without pages: write / id-token: write.
  • A secret hard-coded in a run: line instead of ${{ secrets.* }}.
  • A needs: pointing at a job that isn’t defined.

Was this tool helpful?

Share Your Experience

Help others discover this tool!

Related tools