GitHub Actions Generator

Generate a GitHub Actions workflow with triggers, setup and steps.

  • Runs locally in your browser
  • No upload required

Try it

One or more of: push, pull_request, workflow_dispatch, schedule.

One or more of: install, lint, test, build.

File
.github/workflows/ci.yml
Job
build
Content
# Generated in the browser — review this file and adapt it to your project before committing. name: CI on: push: pull_request: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 with: node-version: "20" cache: npm - name: Install run: npm ci - name: Lint run: npm run lint - name: Test run: npm test - name: Build run: npm run build
# Generated in the browser — review this file and adapt it to your project before committing.
name: CI

on:
  push:
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: npm
      - name: Install
        run: npm ci
      - name: Lint
        run: npm run lint
      - name: Test
        run: npm test
      - name: Build
        run: npm run build

Supported formats

Input
text
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Generated workflow .github/workflows/ci.yml with job "build".

How it works

  • Set the workflow name to "CI" and triggers: push, pull_request.
  • Pinned the job to ubuntu-latest and added the node setup step.
  • Added action steps for: install, lint, test, build.
  • The workflow is a starting point: review the action versions and commands before committing.
  • No secret is written into the file; use the repository secrets context for credentials.

Methodology

  1. Emit the workflow name and the selected `on` triggers.
  2. Emit a `jobs.build` job on the chosen runner with `actions/checkout`.
  3. Add the language setup step with the version and optional dependency cache.
  4. Add one step per selected action using the documented run command for the language.

Usage

  1. Name the workflow and choose the triggers and runner.
  2. Pick the language, version and the steps to run.
  3. Run the generator and copy the workflow into .github/workflows/.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Node CI on push and pull request

jsonSelect to copy
{
  "name": "CI",
  "triggers": [
    "push",
    "pull_request"
  ],
  "runner": "ubuntu-latest",
  "language": "node",
  "languageVersion": "20",
  "steps": [
    "install",
    "lint",
    "test",
    "build"
  ],
  "cache": true
}

Go nightly test

jsonSelect to copy
{
  "name": "Nightly",
  "triggers": [
    "schedule",
    "workflow_dispatch"
  ],
  "runner": "ubuntu-latest",
  "language": "go",
  "languageVersion": "1.22",
  "steps": [
    "install",
    "test"
  ],
  "cache": true
}

Limitations

What the generated workflow covers

The workflow runs checkout, the language setup and the install/lint/test/build steps you choose. Caching is delegated to the official setup action's `cache` option.

Secrets are referenced through GitHub's secrets context in any step you add; the generator never embeds one.

Frequently asked questions

Which action versions are used?
The current major versions (checkout@v4, setup-node@v4, setup-python@v5, setup-go@v5, setup-java@v4). Pin to a digest if your policy requires it.
Does the workflow deploy?
No. It runs the steps you select; add a deployment job appropriate to your environment.

Sources

  1. GitHub Actions workflow syntax — GitHub
  2. actions/checkout — GitHub