Skip to content

Commit fd642e6

Browse files
author
MuhammadTahaNasir
committed
📘 Add complete README.md
1 parent 743fd76 commit fd642e6

File tree

1 file changed

+149
-0
lines changed

1 file changed

+149
-0
lines changed

README.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# 🚀 Actomatic - GitHub Actions Workflow Templates
2+
3+
A production-ready GitHub Actions template repo to streamline CI/CD across AI, frontend, backend, and DevOps deployments.
4+
5+
This repo includes YAML-based workflows for:
6+
7+
- 🧠 AI/ML & Jupyter Notebooks (Python)
8+
- ⚛️ Frontend (React/Next.js with Vercel/Netlify)
9+
- 🐍 Backend (FastAPI/Node.js with Railway/Render/Heroku)
10+
- 🐳 Dockerized Microservices
11+
- 🌍 GitHub Pages static hosting
12+
- 🔐 VPS via SSH + Rsync
13+
- 🔁 Scheduled Cron jobs
14+
- 🧹 Auto lint, format, and deploy
15+
16+
## 📁 Folder Structure
17+
```
18+
.
19+
├── .github/workflows # All GitHub Actions YAML files
20+
├── client/ # Frontend (React/Next.js)
21+
├── server/ # Backend (Node.js / FastAPI)
22+
├── notebooks/ # AI/ML Jupyter notebooks
23+
├── public/ # GitHub Pages static files
24+
├── netlify.toml # Netlify frontend deployment config
25+
├── railway.json # Railway backend deploy config
26+
├── render.yaml # Render deploy config
27+
├── fly.toml # Fly.io app config
28+
├── Procfile # Heroku deployment file
29+
├── SUPABASE.md # Supabase integration guide
30+
├── .env.example # Template for environment variables
31+
├── docker-compose.yml # Full Docker app setup
32+
└── README.md # This file
33+
```
34+
35+
---
36+
37+
## 🔐 GitHub Secrets Needed
38+
| Secret Name | Purpose |
39+
|--------------------------|----------------------------------|
40+
| `VERCEL_TOKEN` | Vercel deploy |
41+
| `VERCEL_PROJECT_ID` | Vercel project |
42+
| `VERCEL_ORG_ID` | Vercel organization |
43+
| `RAILWAY_DEPLOY_HOOK` | Railway auto deploy |
44+
| `RENDER_DEPLOY_KEY` | Render deploy trigger |
45+
| `HEROKU_API_KEY` | Heroku deploy |
46+
| `VPS_KEY` | SSH deploy to private VPS |
47+
| `DOCKER_USERNAME` | Docker Hub login |
48+
| `DOCKER_PASSWORD` | Docker Hub login |
49+
| `GITHUB_TOKEN` | Default token for Actions |
50+
51+
---
52+
53+
## ✅ Included Workflows
54+
55+
| File | Description |
56+
|-----------------------------|----------------------------------------|
57+
| `ci-ai.yml` | Convert/test AI notebooks |
58+
| `ci-frontend.yml` | Build + deploy frontend (Vercel) |
59+
| `ci-backend.yml` | Test + deploy backend (Railway) |
60+
| `gh-pages-deploy.yml` | Static site GitHub Pages deploy |
61+
| `docker-build-push.yml` | Build/push Docker images |
62+
| `lint-autoformat.yml` | Prettier, ESLint, Black auto format |
63+
| `weekly-update.yml` | Weekly scheduled cron task |
64+
| `vps-deploy.yml` | SSH + rsync deploy to VPS |
65+
| `heroku-deploy.yml` | CI deploy to Heroku |
66+
| `render-deploy.yml` | CI deploy to Render |
67+
68+
---
69+
70+
## 🗺️ Workflow Overview
71+
```
72+
┌─────────────┐
73+
│ GitHub │
74+
│ Push PR │
75+
└────┬────────┘
76+
77+
┌────────────┼────────────┐
78+
│ │ │
79+
▼ ▼ ▼
80+
Frontend Backend AI/DS
81+
(React) (Node/FastAPI) (Notebooks)
82+
│ │ │
83+
▼ ▼ ▼
84+
Vercel / Railway / GitHub Pages
85+
Netlify Render / nbconvert
86+
Heroku
87+
│ │
88+
▼ ▼
89+
Docker Build & Push (Optional)
90+
91+
92+
VPS Deploy (via SSH + Rsync)
93+
```
94+
95+
---
96+
97+
## 🧠 AI Notebook Deployment
98+
- Converts Jupyter notebooks → HTML using `nbconvert`
99+
- Deploys the converted HTML as GitHub Pages docs
100+
101+
---
102+
103+
## ⚛️ Frontend Deployment
104+
- Vercel: Uses `amondnet/vercel-action`
105+
- Netlify: Uses `netlify.toml`
106+
- GitHub Pages: Static folder auto-publish
107+
108+
---
109+
110+
## 🐍 Backend Deployment
111+
- Railway: Trigger via deploy hook
112+
- Heroku: GitHub Actions deploy via `Procfile`
113+
- Render: Deploy via API webhook
114+
- VPS: SSH key + Rsync push
115+
116+
---
117+
118+
## 📦 Docker Support
119+
- Build and push images for client/server
120+
- Works with Docker Hub or self-hosted registry
121+
122+
---
123+
124+
## 🔁 Scheduled Cron Jobs
125+
Run weekly tasks like sync scripts, dataset updates, backups:
126+
```yaml
127+
schedule:
128+
- cron: "0 3 * * 0" # Every Sunday 3AM UTC
129+
```
130+
131+
---
132+
133+
## 🧪 Lint + Format
134+
Run Prettier/ESLint (Node) and Black (Python) on every PR or push
135+
136+
---
137+
138+
## 🧱 How to Use
139+
1. Clone or fork this repo
140+
2. Customize your `client/`, `server/`, `notebooks/`
141+
3. Set required secrets in GitHub → Settings → Secrets → Actions
142+
4. Push to `main`, and workflows will run automatically ✅
143+
144+
---
145+
146+
## 📫 Author
147+
Maintained by [@MuhammadTahaNasir](https://github.com/MuhammadTahaNasir) – feel free to fork, star ⭐, and contribute.
148+
149+
> 💬 Need Render/Netlify/Heroku setup in your real project? Ping me anytime!

0 commit comments

Comments
 (0)