Skip to main content

GitHub Actions Workflow Generator

Generate a ready-to-commit GitHub Actions CI workflow (.github/workflows/*.yml) from your stack and options — pick a language (Node.js, Python, Go, Rust, PHP, Ruby, Java, or .NET), a version and OS matrix, trigger events (push / pull_request / schedule / workflow_dispatch), lint/test/build steps, an optional deploy job, dependency caching and concurrency. Runs entirely in your browser.

Input

The workflow's display name in the Actions tab.

Comma-separated runtime versions for the matrix (e.g. Node 20, 22).

Triggers

Comma-separated branches that trigger the workflow on push.

Branches that pull requests must target.

Job Steps

Comma-separated runner labels for the matrix (e.g. ubuntu-latest, macos-latest, windows-latest).

Leave empty to use a sensible default for the selected stack.

Extras

Workflow-level env. Use ${{ secrets.NAME }} to reference a secret.

Output

Generated .github/workflows/ci.yml
 
Was this helpful?

Guides

The GitHub Actions Workflow Generator builds a ready-to-commit CI pipeline for your repository. Pick your language, choose which events trigger the run, and toggle the steps you want — the tool writes a correctly indented .github/workflows/ci.yml you can copy or download in seconds. No account, no CLI, no YAML wrestling.

What it generates

The output is a complete GitHub Actions workflow with a build job that runs on an OS and runtime-version matrix. It wires up the right official setup action for your stack, installs dependencies with your chosen package manager, and adds only the steps you enable: lint, test, and build. An optional second deploy job runs after the build passes, gated to a single branch.

Supported stacks:

  • Node.jsactions/setup-node, with npm, yarn, or pnpm
  • Pythonactions/setup-python, with pip, Poetry, or Pipenv
  • Goactions/setup-go with module caching
  • Rustdtolnay/rust-toolchain plus Swatinem/rust-cache
  • PHPshivammathur/setup-php
  • Rubyruby/setup-ruby with bundler cache
  • Javaactions/setup-java, Temurin/Zulu/Adopt/Microsoft/Corretto, Maven or Gradle
  • .NETactions/setup-dotnet

How to use it

  1. Enter a workflow name (shown in the Actions tab) and pick your stack.
  2. List the runtime versions and operating systems for the build matrix — each combination runs in parallel.
  3. Choose your triggers: push, pull_request (with target branches), a cron schedule, and/or manual workflow_dispatch.
  4. Toggle the lint / test / build steps. Leave a command box empty to accept a sensible default for your stack, or type your own.
  5. Optionally add a deploy job bound to a branch, enable dependency caching, and turn on concurrency so a new push cancels an in-progress run on the same ref.
  6. Copy the YAML or download ci.yml and drop it into .github/workflows/ in your repo.

Why a build matrix?

A matrix runs your job once per combination of version and OS — for example Node 20 and 22 on Ubuntu and macOS at the same time. It catches version- and platform-specific failures early. fail-fast: false is set so one failing cell doesn't cancel the others, giving you the full picture on every run.

What does concurrency do?

The concurrency block groups runs by workflow and ref and cancels any that are still in progress when a newer commit arrives. That saves runner minutes and makes sure only the latest commit's result matters on a busy branch.

Are my inputs private?

Yes. The workflow is generated entirely in your browser with plain string templating — nothing is uploaded, logged, or sent to a server. Reference secrets safely in your env vars with ${{ secrets.NAME }}; the generator never sees their values.

Can I edit the result?

Absolutely. The generated file is a normal, standards-compliant workflow — treat it as a starting point and adjust action versions, add jobs, or wire in deployment credentials as your project grows.

github actionsci/cdworkflowyamlcontinuous integrationdevopspipeline

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/github-actions-workflow-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflowName": "CI",
    "stack": "node",
    "stackVersions": "20, 22",
    "packageManager": "npm",
    "triggerPush": "true",
    "pushBranches": "main",
    "triggerPR": "true",
    "pRBranches": "main",
    "triggerSchedule": "",
    "triggerDispatch": "true",
    "matrixOS": "ubuntu-latest",
    "stepLint": "",
    "stepTest": "true",
    "testCommand": "",
    "stepBuild": "",
    "stepDeploy": "",
    "enableCache": "true",
    "enableConcurrency": "true",
    "envVars": ""
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `github-actions-workflow-generator` tool (GitHub Actions Workflow Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.