@@ -3,6 +3,20 @@ name: Build and Deploy React Projects to GitHub Pages (docs branch)
33on :
44 workflow_dispatch :
55
6+ env :
7+ PROJECT_LIST : |
8+ 01. Tic-Tac-Toe
9+ 02. Searchable-Product-Data-Table
10+ 03. Counter
11+ 04. ToDo-App
12+ 05. Meals-API-Project
13+ 06. Calculator
14+ 07. Toggle-Background-Color
15+ 08. Hidden-Search-Bar
16+ 09. Testimonials
17+ 10. Accordions
18+ 11. Form Validation
19+
620jobs :
721 build :
822 runs-on : ubuntu-latest
@@ -16,39 +30,21 @@ jobs:
1630 with :
1731 node-version : ' 18'
1832
19- - name : Install json tool for config edits
33+ - name : Install json tool
2034 run : npm install -g json
2135
2236 - name : Build all Vite React projects
2337 run : |
24- projects=(
25- "01. Tic-Tac-Toe"
26- "02. Searchable-Product-Data-Table"
27- "03. Counter"
28- "04. ToDo-App"
29- "05. Meals-API-Project"
30- "06. Calculator"
31- "07. Toggle-Background-Color"
32- "08. Hidden-Search-Bar"
33- "09. Testimonials"
34- "10. Accordions"
35- "11. Form Validation"
36- )
37-
38+ repo_name="${GITHUB_REPOSITORY#*/}"
3839 rm -rf output
3940 mkdir -p output
4041
41- repo_name="${GITHUB_REPOSITORY#*/}"
42-
43- for project in "${projects[@]}"; do
44- echo "========================"
42+ echo "$PROJECT_LIST" | while IFS= read -r project; do
4543 echo "📦 Building $project"
46- echo "========================"
47-
4844 cd "$project"
4945 npm install
5046
51- # Inject Vite config with correct base path
47+ # Inject vite. config.js with correct base
5248 base="/$repo_name/$project/"
5349 echo "import { defineConfig } from 'vite';" > vite.config.js
5450 echo "import react from '@vitejs/plugin-react';" >> vite.config.js
7470 git add .
7571 git commit -m "Deploy React projects to GitHub Pages [docs branch]"
7672 git push --force origin docs
73+
74+ - name : Print deployed project URLs
75+ run : |
76+ echo ""
77+ echo "✅ Deployment Complete!"
78+ echo "🔗 Project URLs:"
79+ echo ""
80+
81+ repo_name="${GITHUB_REPOSITORY#*/}"
82+ echo "$PROJECT_LIST" | while IFS= read -r project; do
83+ encoded_project=$(echo "$project" | sed 's/ /%20/g')
84+ url="https://${GITHUB_REPOSITORY_OWNER}.github.io/${repo_name}/${encoded_project}/"
85+ echo "🌐 $project → $url"
86+ done
0 commit comments