diff --git a/.github/workflows/ci-preview.yaml b/.github/workflows/ci-preview.yaml
index 2e28872..3f366e6 100644
--- a/.github/workflows/ci-preview.yaml
+++ b/.github/workflows/ci-preview.yaml
@@ -15,6 +15,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}
+ cache_status_demo: ${{ steps.determine-status.outputs.cache_status_demo }}
cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}
cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}
steps:
@@ -52,16 +53,19 @@ jobs:
run: |
pnpx turbo run build --dry-run=json > result.json
cache_status_bottle=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/bottle#build") | .cache.status' result.json)
+ cache_status_demo=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/demo#build") | .cache.status' result.json)
cache_status_web=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/web#build") | .cache.status' result.json)
pnpx turbo run test:e2e --dry-run=json > result2.json
cache_status_e2e=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/e2e#test:e2e") | .cache.status' result2.json)
echo "cache_status_bottle=$cache_status_bottle" >> $GITHUB_OUTPUT
+ echo "cache_status_demo=$cache_status_demo" >> $GITHUB_OUTPUT
echo "cache_status_web=$cache_status_web" >> $GITHUB_OUTPUT
echo "cache_status_e2e=$cache_status_e2e" >> $GITHUB_OUTPUT
- name: Cache Status Print
run: |
echo "cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}"
+ echo "cache_status_demo: ${{ steps.determine-status.outputs.cache_status_demo }}"
echo "cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}"
echo "cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}"
@@ -125,6 +129,59 @@ jobs:
-d "$DATA" \
${{ secrets.SLACK_WEBHOOK_URL }}
+ Deploy_Demo_to_Vercel:
+ # deploy Demo to vercel
+ runs-on: ubuntu-latest
+ env:
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_Demo }}
+ needs: Setup
+ if: needs.Setup.outputs.cache_status_demo == 'MISS'
+ steps:
+ # checkout and install pnpm
+ - uses: actions/checkout@v4
+ - uses: pnpm/action-setup@v3
+ name: Install pnpm
+ id: pnpm-install
+ with:
+ version: 8
+ run_install: false
+ # setup node
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: 'pnpm'
+
+ - name: Deploy to Vercel if needed
+ run: |
+ npm install --global vercel@latest
+ vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+ vercel build --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+ vercel deploy --prebuilt --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+ - name: Get Vercel Preview
+ uses: zentered/vercel-preview-url@v1.1.9
+ id: vercel_preview_url
+ env:
+ VERCEL_TOKEN: ${{ secrets.VERCEL_ACCESS_TOKEN }}
+ with:
+ vercel_project_id: ${{ secrets.VERCEL_PROJECT_ID_BOTTLE }}
+ - name: Get URL
+ run: echo "https://${{ steps.vercel_preview_url.outputs.preview_url }}"
+
+ - name: Send Slack Notification
+ env:
+ DATA: |
+ {
+ "channel": "C07N47FH04Q",
+ "text": "<@U07L87GGHJS>
+ πΎ λ°λͺ¨ 미리보기 λ°°ν¬ μλ£!
+ π https://${{ steps.vercel_preview_url.outputs.preview_url }}",
+ }
+ run: |
+ curl -X POST -H "Content-Type: application/json" \
+ -d "$DATA" \
+ ${{ secrets.SLACK_WEBHOOK_URL }}
+
Deploy_Web_to_Vercel:
# deploy Web to vercel
runs-on: ubuntu-latest
diff --git a/.github/workflows/ci-production.yaml b/.github/workflows/ci-production.yaml
index 6073d3a..37c0a96 100644
--- a/.github/workflows/ci-production.yaml
+++ b/.github/workflows/ci-production.yaml
@@ -33,7 +33,7 @@ jobs:
# install dependencies
- run: npx pnpm i -r
- # set .env.local
+ # set .env.local for e2e
- name: create dotenv
run: |
touch apps/bottle/.env.local
@@ -43,22 +43,25 @@ jobs:
env:
NEXT_PUBLIC_SERVER_BASE_URL: ${{ secrets.NEXT_PUBLIC_SERVER_BASE_URL }}
- # determine whether @bottlesteam/bottle, @bottlesteam/web is cached on remote
+ # determine whether @bottlesteam/bottle, @bottlesteam/demo, @bottlesteam/web is cached on remote
- name: Determine cache status for each services
id: determine-status
run: |
pnpx turbo run build --dry-run=json > result.json
cache_status_bottle=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/bottle#build") | .cache.status' result.json)
+ cache_status_demo=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/demo#build") | .cache.status' result.json)
cache_status_web=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/web#build") | .cache.status' result.json)
pnpx turbo run test:e2e --dry-run=json > result2.json
cache_status_e2e=$(jq -r '.tasks[] | select(.taskId == "@bottlesteam/e2e#test:e2e") | .cache.status' result2.json)
echo "cache_status_bottle=$cache_status_bottle" >> $GITHUB_OUTPUT
+ echo "cache_status_demo=$cache_status_demo" >> $GITHUB_OUTPUT
echo "cache_status_web=$cache_status_web" >> $GITHUB_OUTPUT
echo "cache_status_e2e=$cache_status_e2e" >> $GITHUB_OUTPUT
- name: Cache Status Print
run: |
echo "cache_status_bottle: ${{ steps.determine-status.outputs.cache_status_bottle }}"
+ echo "cache_status_demo: ${{ steps.determine-status.outputs.cache_status_demo }}"
echo "cache_status_web: ${{ steps.determine-status.outputs.cache_status_web }}"
echo "cache_status_e2e: ${{ steps.determine-status.outputs.cache_status_e2e }}"
@@ -112,6 +115,49 @@ jobs:
-d "$DATA" \
${{ secrets.SLACK_WEBHOOK_URL }}
+ Deploy_Demo_to_Vercel:
+ # deploy Demo to vercel
+ runs-on: ubuntu-latest
+ env:
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_DEMO }}
+ needs: Setup
+ steps:
+ # checkout and install pnpm
+ - uses: actions/checkout@v4
+ - uses: pnpm/action-setup@v3
+ name: Install pnpm
+ id: pnpm-install
+ with:
+ version: 8
+ run_install: false
+ # setup node
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: 'pnpm'
+
+ - name: Deploy to Vercel if needed
+ run: |
+ npm install --global vercel@latest
+ vercel pull --yes --environment=production --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+ vercel build --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+ vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }}
+
+ - name: Send Slack Notification
+ env:
+ DATA: |
+ {
+ "channel": "C07N47FH04Q",
+ "text": "<@U07L87GGHJS>
+ π λ°λͺ¨ λ°°ν¬ μλ£! π
+ π https://demo.bottles.asia",
+ }
+ run: |
+ curl -X POST -H "Content-Type: application/json" \
+ -d "$DATA" \
+ ${{ secrets.SLACK_WEBHOOK_URL }}
+
Deploy_Web_to_Vercel:
# deploy Web to vercel
runs-on: ubuntu-latest
diff --git a/apps/demo/src/app/page.tsx b/apps/demo/src/app/page.tsx
index fbc6ad0..4903c1a 100644
--- a/apps/demo/src/app/page.tsx
+++ b/apps/demo/src/app/page.tsx
@@ -29,7 +29,7 @@ export default function Home() {
>
- {'μ§μ¬μ λ΄μ 보νλ‘\nμλ‘λ₯Ό λ°λμκ² μμκ°μ'}
+ {'μ§μ¬μ λ΄μ 보νλ‘\nμλ‘λ₯Ό λ°λμκ² μμκ°μ '}