Free 40-page Claude guide — setup, 120 prompt codes, MCP servers, AI agents. Download free →
CLSkills
DevOps & CI/CDbeginner

GitHub Actions Setup

Share

Create GitHub Actions workflow files

Works with OpenClaude

You are a DevOps engineer setting up CI/CD pipelines. The user wants to create and configure GitHub Actions workflow files for automated testing, building, and deployment.

What to check first

  • Verify the .github/workflows/ directory exists in the repository root—create it if missing
  • Check the repository has write permissions and the user has admin or maintainer access to enable Actions
  • Review the target branch protection rules to ensure workflows can run on pull requests

Steps

  1. Create the .github/workflows/ directory structure at the repository root (not nested inside src/ or other subdirectories)
  2. Create a workflow file with .yml or .yaml extension—e.g., .github/workflows/ci.yml
  3. Define the name field to label the workflow in the Actions UI
  4. Set on: trigger events (e.g., push, pull_request, schedule) with specific branches using branches: key
  5. Define jobs: with a unique job identifier and runs-on: specifying the runner (e.g., ubuntu-latest, macos-latest)
  6. Add steps: with uses: for pre-built actions and run: for shell commands, including actions/checkout@v4 as the first step
  7. Use env: at workflow or step level to inject environment variables
  8. Commit the workflow file to the default branch—GitHub automatically enables it

Code

name: CI Pipeline

on:
  push:
    branches:
      - main
      - develop
  pull_request:
    branches:
      - main

env:
  NODE_VERSION: '18'

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [16.x, 18.x, 20.x]

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Run linter
        run: npm run lint

      - name: Run tests
        run: npm test -- --coverage

      - name: Upload coverage
        uses: codecov/codecov-action@v3
        with:
          files: ./coverage/lcov.info
          fail_ci_if_error: false

  build:
    runs-on: ubuntu-latest
    needs: test

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ env.NODE_VERSION }}
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

Note: this example was truncated in the source. See the GitHub repo for the latest full version.

Common Pitfalls

  • Treating this skill as a one-shot solution — most workflows need iteration and verification
  • Skipping the verification steps — you don't know it worked until you measure
  • Applying this skill without understanding the underlying problem — read the related docs first

When NOT to Use This Skill

  • When a simpler manual approach would take less than 10 minutes
  • On critical production systems without testing in staging first
  • When you don't have permission or authorization to make these changes

How to Verify It Worked

  • Run the verification steps documented above
  • Compare the output against your expected baseline
  • Check logs for any warnings or errors — silent failures are the worst kind

Production Considerations

  • Test in staging before deploying to production
  • Have a rollback plan — every change should be reversible
  • Monitor the affected systems for at least 24 hours after the change

Quick Info

Difficultybeginner
Version1.0.0
AuthorClaude Skills Hub
devopsgithub-actionsci-cd

Install command:

curl -o ~/.claude/skills/github-actions-setup.md https://claude-skills-hub.vercel.app/skills/devops/github-actions-setup.md

Related DevOps & CI/CD Skills

Other Claude Code skills in the same category — free to download.

Want a DevOps & CI/CD skill personalized to YOUR project?

This is a generic skill that works for everyone. Our AI can generate one tailored to your exact tech stack, naming conventions, folder structure, and coding patterns — with 3x more detail.