BFCmath/CICD_Git

NMCNPM CNTN23/1st Semester 3rd Year/2025-2026

โ˜… 1Forks 0PythonGitHub โ†—Compare

README

CI/CD Demo Project

A complete demonstration of Continuous Integration and Continuous Deployment using GitHub Actions.

๐ŸŽฏ Project Overview

This project demonstrates a professional CI/CD pipeline with:

  • โœ… CI on Feature Branch: Automated tests when pushing to feature branch
  • โœ… CI on Pull Requests: Validation before merging
  • โœ… CD on Main Branch: Automatic deployment after merge

๐Ÿ“ Project Structure

.
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚       โ”œโ”€โ”€ ci-feature.yml    # CI for feature branch
โ”‚       โ”œโ”€โ”€ ci-pr.yml         # CI for pull requests
โ”‚       โ””โ”€โ”€ cd-main.yml       # CD for main branch
โ”œโ”€โ”€ app.py                    # Sample Python application
โ”œโ”€โ”€ test_app.py              # Unit tests
โ”œโ”€โ”€ requirements.txt         # Python dependencies
โ”œโ”€โ”€ DEMO_GUIDE.md           # Step-by-step demo instructions
โ””โ”€โ”€ README.md               # This file

๐Ÿš€ Quick Start

For Demo Presentation:

Follow the DEMO_GUIDE.md for complete step-by-step instructions!

Workflow Summary:

  1. Push to feature branch โ†’ CI runs tests
  2. Create Pull Request โ†’ CI validates changes
  3. Merge to main โ†’ CD deploys application

๐Ÿ› ๏ธ Technologies Used

  • GitHub Actions: CI/CD automation
  • Python 3.11: Application language
  • Pytest: Testing framework
  • Flake8: Code linting

๐Ÿ“– How It Works

CI Pipeline (Continuous Integration)

  • Checks out code
  • Sets up Python environment
  • Installs dependencies
  • Runs linting
  • Executes unit tests
  • Reports results

CD Pipeline (Continuous Deployment)

  • Runs final tests
  • Builds application
  • Simulates deployment
  • Creates deployment artifacts
  • Generates deployment report

๐ŸŽ“ Learning Objectives

This demo teaches:

  • How to set up GitHub Actions workflows
  • CI/CD best practices
  • Automated testing strategies
  • Branch-based deployment strategies
  • Pull request validation

๐Ÿ“ License

This is a demo project for educational purposes.


Ready to demo? Start with DEMO_GUIDE.md! ๐ŸŽ‰

Contributors

BFCmath

Issues