GitHub Actions Workflow Generator
A form-driven way to create a GitHub Actions CI pipeline. Set the triggers, runner and language, and the ci.yml is written for you to paste into .github/workflows/.
This GitHub Actions workflow generator writes a ready-to-commit .github/workflows/ci.yml from a form instead of leaving you to remember the exact indentation of the on: block. Choose when the workflow runs (push, pull_request with branch filters, a manual dispatch button, or a cron schedule), pick the runner and a language preset for Node, Python, Go, Rust or Docker, and it seeds the usual steps: checkout, language setup, install, test and build. Add a version matrix to fan a job across several Node or Python versions, or drop in your own run commands. The YAML updates as you edit and you copy or download the finished file.
How it works
- 1
Choose the triggers
Toggle push and pull_request (with the branches they watch), a workflow_dispatch button for manual runs, or a cron schedule. The on: block is built from whatever you enable.
- 2
Pick a runner and preset
Select ubuntu, macOS or Windows, then a Node, Python, Go, Rust or Docker preset. That seeds checkout, language setup and install/test/build steps you can switch off individually.
- 3
Add a matrix or custom steps
Fan the job across versions like 18, 20, 22, add your own named run commands, then copy the ci.yml or download it straight into .github/workflows/.
Instant & 100% private — nothing is uploaded
Everything runs locally in your browser. Your code, text and files are processed on your own device and are never sent to a server — so there are no upload waits, no size limits from us, and nothing is ever stored or logged.
Frequently asked questions
- How do I generate a ci.yml for a Node project?
- Keep the Node preset, leave push and pull_request on for main, and turn on the matrix with 18, 20, 22. You get a job that runs actions/checkout@v4, actions/setup-node@v4 with node-version ${{ matrix.node-version }}, then npm ci and npm test — the whole strategy.matrix.node-version block ready to commit.
- Why does the workflow use on: and not true:?
- In YAML the bare word on is the boolean true, so a naive dump turns the key into true:. This generator serializes the object and then rewrites the key back to a real on:, so GitHub reads your triggers correctly. Empty triggers like workflow_dispatch: are written without a trailing null too.
- Can I schedule the workflow with cron?
- Yes. Enable the schedule trigger and enter a cron expression in UTC, for example */15 * * * * to run every fifteen minutes or 0 6 * * 1 for 06:00 every Monday. Comma-separate several to emit multiple schedule entries, and each cron is quoted so lines starting with * stay valid YAML.
- How do I add my own build or lint command?
- Use the custom steps section. Give the step a name like Lint and a command like npm run lint, and it is appended after the preset steps as a - name/run pair. Leave the name blank for a bare run: step. Add as many rows as you need.
More tools
More from the Hivly network
Free sister tools on our other sites.