A modern rebuild of the Buy Sell Cars application, a platform for buying and selling vehicles. With instances in Zimbabwe & South Africa.
# GitHub Actions CI/CD Pipeline
This repository includes a lean and effective CI/CD pipeline built with GitHub Actions to ensure code quality, security, and reliable deployments.
## 🚀 Workflows Overview
### 1. **CI** (`ci.yml`)
**Triggers:** Push to `main`/`develop`, Pull Requests
**What it does:**
- 🔍 **Setup & Dependencies**: Installs dependencies with pnpm
- 🧹 **Linting**: ESLint and Prettier checks
- 🔍 **Type Checking**: TypeScript validation
- 🧪 **Testing**: Complete test suite
- 🏗️ **Building**: Builds both apps (South Africa & Zimbabwe)
- 🔒 **Security Audit**: Vulnerability checks (main branch only)
### 2. **Dependency Updates** (`dependency-updates.yml`)
**Triggers:** Weekly (Mondays 9 AM UTC), Manual
**What it does:**
- 📦 Checks for outdated dependencies
- 🔄 Updates to latest compatible versions
- 🧪 Runs tests to ensure compatibility
- 📝 Creates automated PR with changes
## 🛠️ Quick Start
### Prerequisites
1. Install GitHub CLI: `brew install gh` (macOS) or visit cli.github.com
2. Authenticate: `gh auth login`
### Using the Management Script
We've included a helpful script to manage GitHub Actions:
```bash
# Make the script executable (first time only)
chmod +x scripts/github-actions.sh
# Show all available workflows
./scripts/github-actions.sh workflows
# Run local checks before pushing
./scripts/github-actions.sh check
# View recent workflow runs
./scripts/github-actions.sh runs
# Trigger specific workflows manually
./scripts/github-actions.sh deps # Dependency updates
# Get help
./scripts/github-actions.sh help
```
## 📊 Workflow Status Badges
Add this badge to your main README to show workflow status:
```markdown
```
## 🔧 Configuration
### Environment Variables
Some workflows may require environment variables. Add these to your repository secrets:
- `GITHUB_TOKEN`: Automatically provided by GitHub Actions
- Add any deployment-specific secrets as needed
## 🚦 Branch Protection Rules
For maximum effectiveness, configure …