From 121d3752a513aeee491bf06733d0acd2c0ce942b Mon Sep 17 00:00:00 2001 From: longwind48 Date: Sat, 14 Dec 2024 10:39:24 +0800 Subject: [PATCH] ci: add workflow dispatch to frontend deployment --- .github/workflows/firebase-hosting-merge.yml | 81 ++++++++++---------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index 40c49d6..c92689a 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -3,44 +3,45 @@ name: Deploy Frontend to Firebase Hosting on: - push: - branches: - - stg - paths: - - 'frontend/**' + push: + branches: + - stg + paths: + - "frontend/**" + workflow_dispatch: jobs: - build_and_deploy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Use Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.OS }}-node- - - name: Cache Next.js build - uses: actions/cache@v3 - with: - path: ${{ github.workspace }}/frontend/.next/cache - key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }} - - name: Install dependencies and build - env: - APP_ENV: staging - run: | - cd frontend - npm ci - npm run build - - uses: FirebaseExtended/action-hosting-deploy@v0 - with: - repoToken: ${{ secrets.GITHUB_TOKEN }} - firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_SCHEMESSG_V3_DEV }} - channelId: live - projectId: schemessg-v3-dev - target: staging - entryPoint: ./frontend + build_and_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "18" + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: ~/.npm + key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.OS }}-node- + - name: Cache Next.js build + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/frontend/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }} + - name: Install dependencies and build + env: + APP_ENV: staging + run: | + cd frontend + npm ci + npm run build + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: ${{ secrets.GITHUB_TOKEN }} + firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_SCHEMESSG_V3_DEV }} + channelId: live + projectId: schemessg-v3-dev + target: staging + entryPoint: ./frontend