Merge branch 'main' of https://github.com/CSULB-BeachHacks/acm-websit… #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Deploy Next.js to cPanel (Dynamic) | |
on: | |
push: | |
branches: [main] | |
workflow_dispatch: | |
jobs: | |
build-deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: "npm" | |
- name: Install deps | |
run: npm ci | |
- name: Build Next.js app (Dynamic) | |
env: | |
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL }} | |
MONGODB_URI: ${{ secrets.MONGODB_URI }} | |
JWT_SECRET: ${{ secrets.JWT_SECRET }} | |
BREVO_API_KEY: ${{ secrets.BREVO_API_KEY }} | |
BREVO_SENDER_EMAIL: ${{ secrets.BREVO_SENDER_EMAIL }} | |
BREVO_SENDER_NAME: ${{ secrets.BREVO_SENDER_NAME }} | |
GMAIL_CLIENT_ID: ${{ secrets.GMAIL_CLIENT_ID }} | |
GMAIL_CLIENT_SECRET: ${{ secrets.GMAIL_CLIENT_SECRET }} | |
GMAIL_REFRESH_TOKEN: ${{ secrets.GMAIL_REFRESH_TOKEN }} | |
GMAIL_USER: ${{ secrets.GMAIL_USER }} | |
RECIPIENT: ${{ secrets.RECIPIENT }} | |
run: npm run build | |
- name: Create restart marker (Passenger) | |
run: | | |
mkdir -p tmp | |
date +%s > tmp/restart.txt | |
- name: Deploy via FTP to cPanel | |
uses: SamKirkland/[email protected] | |
with: | |
server: ${{ secrets.FTP_HOST }} | |
username: ${{ secrets.FTP_USER }} | |
password: ${{ secrets.FTP_PASS }} | |
local-dir: ./ | |
server-dir: / | |
exclude: | | |
**/.git* | |
**/.github* | |
**/node_modules/** | |
**/*.map | |
**/.next/cache/** | |
**/out/** | |
**/.env* | |
**/README.md | |
**/.github/workflows/** | |
**/deploy.sh | |
**/build-static.js | |
- name: Notify deployment completion | |
run: | | |
echo "🚀 Dynamic deployment completed!" | |
echo "📝 Manual steps required:" | |
echo " 1. Go to cPanel → Node.js Apps" | |
echo " 2. Click 'Install Dependencies'" | |
echo " 3. Click 'Build Application'" | |
echo " 4. Click 'Start Application'" |