Skip to content

Merge pull request #15 from kkk0070/backendUnitTesting #2

Merge pull request #15 from kkk0070/backendUnitTesting

Merge pull request #15 from kkk0070/backendUnitTesting #2

Workflow file for this run

name: Vercel Deployment CI/CD
on:
push:
branches:
- main
jobs:
deploy-backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: backend/package-lock.json
- name: Install Backend Dependencies
working-directory: backend
run: npm install
- name: Install Vercel CLI
run: npm install --global vercel
- name: Pull Vercel Environment Information
working-directory: backend
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
env:
VERCEL_ORG_ID: ${{ secrets.BACKEND_VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.BACKEND_VERCEL_PROJECT_ID }}
- name: Deploy Backend to Vercel
id: deploy-backend
working-directory: backend
run: |
DEPLOY_URL=$(vercel deploy --prod --token=${{ secrets.VERCEL_TOKEN }})
echo "url=$DEPLOY_URL" >> $GITHUB_OUTPUT
env:
VERCEL_ORG_ID: ${{ secrets.BACKEND_VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.BACKEND_VERCEL_PROJECT_ID }}
outputs:
backend_url: ${{ steps.deploy-backend.outputs.url }}
deploy-frontend:
needs: deploy-backend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Install Frontend Dependencies
working-directory: frontend
run: flutter pub get
- name: Build Flutter Web
working-directory: frontend
run: |
flutter build web --release \
--dart-define=BACKEND_URL=${{ needs.deploy-backend.outputs.backend_url }}
- name: Install Vercel CLI
run: npm install --global vercel
- name: Pull Vercel Environment Information
working-directory: frontend
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
env:
VERCEL_ORG_ID: ${{ secrets.FRONTEND_VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.FRONTEND_VERCEL_PROJECT_ID }}
- name: Deploy Frontend to Vercel
working-directory: frontend
run: vercel deploy --prod --prebuilt --token=${{ secrets.VERCEL_TOKEN }}
env:
VERCEL_ORG_ID: ${{ secrets.FRONTEND_VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.FRONTEND_VERCEL_PROJECT_ID }}