name: Functionsデプロイ

on:
  workflow_dispatch:
  workflow_call:

jobs:
  deploy:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: Set Node.js version
        uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: "npm"
          cache-dependency-path: |
            package-lock.json
            functions/package-lock.json
      - name: デプロイ用.envひな型の作成
        run: cp ./functions/.env.sample ./functions/.env
      - name: サービスアカウントファイルの作成
        run: echo '${{ secrets.FIREBASE_SERVICE_ACCOUNT }}' > $HOME/gcloud.json
      - name: npm ci
        run: npm ci && npm --prefix ./functions ci
      - name: Firebaseの向き先を指定
        run: GOOGLE_APPLICATION_CREDENTIALS=$HOME/gcloud.json && npx firebase use default --token=${{ secrets.FIREBASE_TOKEN }}
      - name: Deploy functions
        run: GOOGLE_APPLICATION_CREDENTIALS=$HOME/gcloud.json && npm run deploy:functions -- --token=${{ secrets.FIREBASE_TOKEN }}
