How to use the GitHub Actions Workflow Generator
- Pick your stack and the branches the workflow should run on.
- Choose triggers — push, pull requests, manual runs, version tags or a schedule.
- Select the steps and versions to test, and optionally a deploy target.
- Save the YAML as
.github/workflows/ci.yml, add any listed secrets in Settings → Secrets and variables → Actions, and push.
Anatomy of a workflow
| Key | Purpose |
|---|---|
on | Events that start the workflow: push, pull_request, schedule, workflow_dispatch |
permissions | What the automatic GITHUB_TOKEN may do — keep it minimal |
concurrency | Cancels outdated runs on the same branch |
jobs.<id>.runs-on | The runner, e.g. ubuntu-latest |
strategy.matrix | Runs the job once per version |
steps | uses: an action or run: a shell command |
Actions used
The generator pins official actions to their current major versions — actions/checkout@v4, actions/setup-node@v4, actions/setup-python@v5, actions/setup-go@v5, actions/cache@v4, actions/upload-pages-artifact@v3, actions/deploy-pages@v4 and Docker’s docker/build-push-action@v6. For maximum supply-chain security, pin third-party actions to a full commit SHA.
Secrets and environment variables
Never commit tokens. Store them as repository secrets and read them with ${{ secrets.NAME }}. Keep a list of required variables in .env.example and validate local files with the .env File Validator. Scheduled workflows use cron syntax in UTC — build expressions with the Cron Expression Generator.
Make sure your package.json has lint, test and build scripts, containerised apps a Docker Compose file, and validate the YAML with YAML to JSON if GitHub reports a syntax error.
Tools that pair well with the GitHub Actions Workflow Generator
- .gitignore Generator — Tick your stack — Node, Python, React, Next.js, Docker, macOS, VS Code and 40 more — and get one clean, de-duplicated .gitignore with commented sections, ready to download.
- Git Command Generator — Pick a task like “undo the last commit but keep my changes” or “rename a branch on GitHub”, fill in your branch names and get the exact Git commands — each line explained, risky steps flagged.
- Semantic Version Calculator — Everything about semantic versions in one place: compare two versions, calculate the next major/minor/patch/prerelease, and see exactly which versions an npm range like ^1.2.0 or ~2.3 allows — explained in plain English.
- Changelog Generator — Paste your git log and get a tidy CHANGELOG.md section: commits grouped into Features, Bug Fixes, Performance and Breaking Changes, scopes in bold, links to commits — plus the next semantic version.
Frequently asked questions
Where do I save the workflow file?
.github/workflows/ in your repository, e.g. .github/workflows/ci.yml. GitHub picks it up on the next push.How do I deploy to GitHub Pages?
Why does my scheduled workflow not run on time?
What does npm ci do differently from npm install?
npm ci installs exactly what’s in package-lock.json, fails if it doesn’t match package.json and is faster — ideal for CI.