GitHub Actions CI/CD Workflow YAML Generator
Build production GitHub Actions workflow YAML pipelines for Node.js, Go, Python, Docker builds, unit tests, and automated releases.
name: Node.js CI/CD Pipeline
on:
push:
branches:
- 'main'
- 'master'
pull_request:
branches:
- 'main'
- 'master'
workflow_dispatch:
release:
types: [published]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
jobs:
build-and-test:
name: NODE Test & Build
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
node-version: ['18.x', '20.x', '22.x']
steps:
- name: Checkout code repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install pnpm package manager
uses: pnpm/action-setup@v4
with:
version: 'latest'
- name: Set up Node.js runtime environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install project dependencies
run: pnpm install --frozen-lockfile
- name: Run code linter and style check
run: pnpm run lint
- name: Run static typecheck
run: pnpm run typecheck
- name: Run automated test suite
run: pnpm test -- --coverage
- name: Compile and build production bundle
run: pnpm run build
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: node-js-ci-cd-pipeline-artifact
path: dist/
retention-days: 7
- name: Create GitHub Release on tag
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: dist/**
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Zero-Latency Local Compilation
Instantly synthesizes hardened GitHub Actions workflows in browser memory without sending private repo architecture to external servers.
Enterprise Security Hardening
Enforces least-privilege token permissions, concurrent job cancellation, step timeouts, and action version pinning against supply-chain attacks.
Multi-Language & Matrix Support
Tailored continuous integration templates for Node.js, Python, Go, Rust, Docker, and GitHub Pages with automated package caching.