Automating the Build Process in React with GitHub Workflow

April 2, 2025

Introduction

Continuous Integration (CI) and Continuous Deployment (CD) are essential practices in modern software development. Automating the build process ensures that your application is always up-to-date, tested, and ready for deployment. In this article, we will set up GitHub Workflow to automate the build process of a React.js application.

Prerequisites

  • A GitHub account
  • A React.js application hosted on GitHub
  • Basic knowledge of GitHub Actions

Step 1: Understanding GitHub Workflows

GitHub Workflows are automated processes that you define in your GitHub repository. You create them by defining YAML files within the .github/workflows directory. These workflows can be triggered by events such as pushes, pull requests, or scheduled intervals.

Step 2: Setting Up Your Workflow File

Create a new directory called .github/workflows at the root of your React project:

mkdir -p .github/workflows

Inside this directory, create a file named build.yml:

touch .github/workflows/build.yml

Step 3: Configuring the Workflow File

Open build.yml and add the following configuration:

name: React Build Automation
 
on: [push, pull_request]
 
jobs:
  build:
    runs-on: ubuntu-latest
 
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
 
      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '18'
 
      - name: Install dependencies
        run: npm install
 
      - name: Run tests
        run: npm test -- --watchAll=false
 
      - name: Build React app
        run: npm run build
 
      - name: Upload build artifacts
        uses: actions/upload-artifact@v3
        with:
          name: build
          path: build/

Step 4: GitHub Settings Configuration

To enable workflows in your repository, ensure that:

  • GitHub Actions are enabled under Settings -> Actions -> General.
  • Set the workflow permissions to Read and write permissions.
  • Allow GitHub Actions to create and approve pull requests if required.

Step 5: Committing and Pushing Your Workflow

Add, commit, and push the changes to your repository:

git add .
git commit -m "Add GitHub Workflow for build automation"
git push origin main

Step 6: Viewing the Workflow Run

Go to your GitHub repository, navigate to the Actions tab, and check the workflow run triggered by your recent push.

Troubleshooting

If your build fails, check the logs in the Actions tab. Ensure that the Node.js version specified in your workflow matches the version used in your project.

Final Thoughts

Automating the build process with GitHub Workflow simplifies your CI/CD pipeline and helps maintain a consistent development environment. With this setup, your React application will be automatically tested and built on every push or pull request. Stay tuned for more automation tips!