GitHub Actions Workflow Generator
Set your triggers, language, version matrix and build steps, and get a valid GitHub Actions workflow you can drop into .github/workflows. The YAML updates as you edit, so you can copy or download it the moment it looks right.
How to generate a GitHub Actions workflow
- Choose your triggers (push, pull request, manual or a cron schedule) and target branches.
- Pick the language and version, optionally add a version matrix, and toggle the steps you need.
- Copy the generated YAML or download it as ci.yml into your repository's .github/workflows folder.
Examples
Node CI on push and pull request
{ language: "node", version: "20", triggers: { push: { branches: ["main"] }, pullRequest: { branches: ["main"] } }, steps: { setupLanguage: true, install: true, test: true } }name: CI
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npm testNode test matrix
{ language: "node", matrix: ["18", "20", "22"], steps: { test: true } }jobs:
build:
strategy:
matrix:
version:
- "18"
- "20"
- "22"
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.version }}Frequently asked questions
Where does the generated workflow file go?
Save it inside your repository at .github/workflows, for example .github/workflows/ci.yml. GitHub runs every YAML file it finds in that folder automatically.
Which languages and actions does it use?
It targets Node.js, Python, Go and Rust using the current official setup actions: actions/checkout@v4, actions/setup-node@v4, actions/setup-python@v5, actions/setup-go@v5 and dtolnay/rust-toolchain.
What is the version matrix for?
A matrix runs the same job once per version in parallel, so you can test against, say, Node 18, 20 and 22 at once. Add the versions you care about and the workflow fans out automatically.
Can I schedule a workflow or run it manually?
Yes. Enable workflow_dispatch to add a Run workflow button in the Actions tab, and add a cron expression like 0 0 * * * to run the workflow on a schedule.
Is the YAML valid and safe to commit?
The output is generated with a YAML serializer and uses real action names and the standard on/jobs/steps structure, so it is valid GitHub Actions syntax. Review the commands for your project before committing.
Is anything uploaded to a server?
No. The workflow is built entirely in your browser. Nothing you type is sent anywhere, so it is safe to use with private repositories and internal branch names.
Related tools
Gitignore Generator
Build a .gitignore from Node, Python, Java, Go, Rust, macOS, Windows and more. Pick your stacks, copy or download the file. Runs in your browser.
YAML Formatter
Format and validate YAML online. Fix indentation, normalize messy YAML, sort keys and catch syntax errors. Runs entirely in your browser.
JSON Formatter
Format, validate and minify JSON online. Pretty-print with custom indentation, sort keys and catch syntax errors. Runs in your browser.
.env to JSON
Convert a .env file to JSON, or JSON back to .env. Parses KEY=value lines, comments, quotes and export. Runs entirely in your browser.
Aspect Ratio Calculator
Calculate aspect ratios fast. Enter a ratio like 16:9 and one dimension to get the other, or enter width and height to simplify the ratio.
Base58 Encoder
Encode and decode Base58 online with the Bitcoin alphabet. Convert text to Base58 or back, UTF-8 safe, no confusing 0 O I l. Runs in your browser.