How I Use GitHub Actions for CI/CD in My Side Projects


Automating deployments shouldn’t be a luxury. Here’s how I use GitHub Actions in my fullstack side projects to run tests, lint, and auto-deploy—step by step.


🚀 Why Every Side Project Deserves CI/CD

Before GitHub Actions, I used to:

  • Forget to run tests

  • Push broken code

  • Manually deploy every update

In 2025, CI/CD isn’t optional, even for solo devs. GitHub Actions has been my go-to tool to build powerful automation workflows for testing, building, and deploying code effortlessly.


🔁 What I Automate Using GitHub Actions

For most of my fullstack apps, my pipeline looks like this:

  1. ✅ Run Linter & Tests on every push

  2. 🛠️ Build the app

  3. 📦 Deploy to platforms like Vercel, Railway, or Render

  4. 🔔 Notify on success/failure


📁 Folder Setup

In your repo:

.github/
└── workflows/
    └── main.yml

🧪 Example Workflow: React App + Node.js API

name: Fullstack CI/CD

on:
  push:
    branches: [main]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout Code
      uses: actions/checkout@v3

    - name: Setup Node
      uses: actions/setup-node@v4
      with:
        node-version: 18

    - name: Install Dependencies
      run: npm install

    - name: Lint
      run: npm run lint

    - name: Run Tests
      run: npm test

    - name: Build App
      run: npm run build

    - name: Deploy to Vercel
      uses: amondnet/vercel-action@v25
      with:
        vercel-token: ${{ secrets.VERCEL_TOKEN }}
        vercel-org-id: ${{ secrets.ORG_ID }}
        vercel-project-id: ${{ secrets.PROJECT_ID }}
        working-directory: ./client

🧠 Why This Helps Me

  • Prevents broken builds: I never merge bad code to main

  • Saves time: No more manual deploys

  • Makes collaboration easier: Contributors don’t need to deploy manually


🔒 Bonus: Secrets Management

Store sensitive keys in Settings → Secrets and variables.

Use them like:

${{ secrets.VERCEL_TOKEN }}

💡 Real Project Example: “MoodWave” Journal App

For my journaling app, I automated:

  • React frontend builds on push

  • Server testing on PRs

  • Deployment to Railway + Vercel

It helped me:

  • Catch 3 bugs before release

  • Ship updates with zero downtime

  • Share the live version instantly with collaborators


🧠 Final Thoughts

You don’t need to be a DevOps engineer to use GitHub Actions. Whether you're building a SaaS or a passion project, CI/CD can save you hours, bugs, and stress.


💬 Already using GitHub Actions? What workflows do you automate? Drop a comment below!

0
Subscribe to my newsletter

Read articles from Workspace Ronnie directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Workspace Ronnie
Workspace Ronnie