diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index fa68dd2..3db97ff 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -18,22 +18,19 @@ jobs: with: node-version: '20' cache: 'pnpm' - - name: Create .env file - run: | - cat << EOF > app/.env - VITE_API_KEY=${{ secrets.VITE_API_KEY }} - VITE_AUTH_DOMAIN=${{ secrets.VITE_AUTH_DOMAIN }} - VITE_PROJECT_ID=${{ secrets.VITE_PROJECT_ID }} - VITE_STORAGE_BUCKET=${{ secrets.VITE_STORAGE_BUCKET }} - VITE_MESSAGING_SENDER_ID=${{ secrets.VITE_MESSAGING_SENDER_ID }} - VITE_APP_ID=${{ secrets.VITE_APP_ID }} - VITE_MEASUREMENT_ID=${{ secrets.VITE_MEASUREMENT_ID }} - VITE_FIREBASE_PROJECT_ID=${{ secrets.VITE_FIREBASE_PROJECT_ID }} - VITE_FIREBASE_REGION=${{ secrets.VITE_FIREBASE_REGION }} - VITE_FUNCTIONS_URL_LOCAL=${{ secrets.VITE_FUNCTIONS_URL_LOCAL }} - VITE_FUNCTIONS_URL_PROD=${{ secrets.VITE_FUNCTIONS_URL_PROD }} - EOF - run: "pnpm install --frozen-lockfile && pnpm -r run build " + env: + VITE_API_KEY: ${{ secrets.VITE_API_KEY }} + VITE_AUTH_DOMAIN: ${{ secrets.VITE_AUTH_DOMAIN }} + VITE_PROJECT_ID: ${{ secrets.VITE_PROJECT_ID }} + VITE_STORAGE_BUCKET: ${{ secrets.VITE_STORAGE_BUCKET }} + VITE_MESSAGING_SENDER_ID: ${{ secrets.VITE_MESSAGING_SENDER_ID }} + VITE_APP_ID: ${{ secrets.VITE_APP_ID }} + VITE_MEASUREMENT_ID: ${{ secrets.VITE_MEASUREMENT_ID }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_REGION: ${{ secrets.VITE_FIREBASE_REGION }} + VITE_FUNCTIONS_URL_LOCAL: ${{ secrets.VITE_FUNCTIONS_URL_LOCAL }} + VITE_FUNCTIONS_URL_PROD: ${{ secrets.VITE_FUNCTIONS_URL_PROD }} - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml index 6336311..0074df4 100644 --- a/.github/workflows/firebase-hosting-pull-request.yml +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -20,22 +20,19 @@ jobs: with: node-version: '20' cache: 'pnpm' - - name: Create .env file - run: | - cat << EOF > app/.env - VITE_API_KEY=${{ secrets.VITE_API_KEY }} - VITE_AUTH_DOMAIN=${{ secrets.VITE_AUTH_DOMAIN }} - VITE_PROJECT_ID=${{ secrets.VITE_PROJECT_ID }} - VITE_STORAGE_BUCKET=${{ secrets.VITE_STORAGE_BUCKET }} - VITE_MESSAGING_SENDER_ID=${{ secrets.VITE_MESSAGING_SENDER_ID }} - VITE_APP_ID=${{ secrets.VITE_APP_ID }} - VITE_MEASUREMENT_ID=${{ secrets.VITE_MEASUREMENT_ID }} - VITE_FIREBASE_PROJECT_ID=${{ secrets.VITE_FIREBASE_PROJECT_ID }} - VITE_FIREBASE_REGION=${{ secrets.VITE_FIREBASE_REGION }} - VITE_FUNCTIONS_URL_LOCAL=${{ secrets.VITE_FUNCTIONS_URL_LOCAL }} - VITE_FUNCTIONS_URL_PROD=${{ secrets.VITE_FUNCTIONS_URL_PROD }} - EOF - run: "pnpm install --frozen-lockfile && pnpm -r run build " + env: + VITE_API_KEY: ${{ secrets.VITE_API_KEY }} + VITE_AUTH_DOMAIN: ${{ secrets.VITE_AUTH_DOMAIN }} + VITE_PROJECT_ID: ${{ secrets.VITE_PROJECT_ID }} + VITE_STORAGE_BUCKET: ${{ secrets.VITE_STORAGE_BUCKET }} + VITE_MESSAGING_SENDER_ID: ${{ secrets.VITE_MESSAGING_SENDER_ID }} + VITE_APP_ID: ${{ secrets.VITE_APP_ID }} + VITE_MEASUREMENT_ID: ${{ secrets.VITE_MEASUREMENT_ID }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_REGION: ${{ secrets.VITE_FIREBASE_REGION }} + VITE_FUNCTIONS_URL_LOCAL: ${{ secrets.VITE_FUNCTIONS_URL_LOCAL }} + VITE_FUNCTIONS_URL_PROD: ${{ secrets.VITE_FUNCTIONS_URL_PROD }} - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/app/src/pages/Settings.tsx b/app/src/pages/Settings.tsx index 15dc960..ce152fb 100644 --- a/app/src/pages/Settings.tsx +++ b/app/src/pages/Settings.tsx @@ -705,7 +705,7 @@ const Settings: React.FC = () => { 새로운 기능과 개선사항을 확인하세요

{ try { const { since, until } = req.query; @@ -105,7 +109,11 @@ export const getCommits = onRequest( ); export const getFilename = onRequest( - { cors: true, region: 'asia-northeast3' }, + { + cors: true, + region: 'asia-northeast3', + invoker: 'public' + }, async (req, res) => { try { const { commit_sha } = req.query; @@ -149,7 +157,11 @@ export const getFilename = onRequest( ); export const getMarkdown = onRequest( - { cors: true, region: 'asia-northeast3' }, + { + cors: true, + region: 'asia-northeast3', + invoker: 'public' + }, async (req, res) => { try { const { filename } = req.query; @@ -198,7 +210,11 @@ export const getMarkdown = onRequest( * Settings 페이지에서 리포지토리 선택을 위해 사용 */ export const getRepositories = onRequest( - { cors: true, region: 'asia-northeast3' }, + { + cors: true, + region: 'asia-northeast3', + invoker: 'public' + }, async (req, res) => { try { const authHeader = req.headers.authorization; @@ -266,7 +282,11 @@ export const getRepositories = onRequest( * Settings 페이지에서 브랜치 선택을 위해 사용 */ export const getBranches = onRequest( - { cors: true, region: 'asia-northeast3' }, + { + cors: true, + region: 'asia-northeast3', + invoker: 'public' + }, async (req, res) => { try { const { owner, repo } = req.query; diff --git a/functions/src/hyperclovax.ts b/functions/src/hyperclovax.ts index f40e4b3..c1b0189 100644 --- a/functions/src/hyperclovax.ts +++ b/functions/src/hyperclovax.ts @@ -2,7 +2,11 @@ import { onRequest } from 'firebase-functions/v2/https'; // HyperCLOVA X API (HCX-007) export const chatCompletions = onRequest( - { cors: true, region: 'asia-northeast3' }, + { + cors: true, + region: 'asia-northeast3', + invoker: 'public' + }, async (req, res) => { try { const { prompt, text } = req.body; diff --git a/functions/tsup.config.ts b/functions/tsup.config.ts index 4e7bf82..719a48d 100644 --- a/functions/tsup.config.ts +++ b/functions/tsup.config.ts @@ -10,5 +10,7 @@ export default defineConfig({ platform: 'node', shims: false, treeshake: true, - dts: false + dts: false, + // workspace 패키지를 번들에 포함 (Firebase 배포용) + noExternal: ['@recall-buddy/shared'] }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5521fc..7c57909 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,9 +81,6 @@ importers: functions: dependencies: - '@recall-buddy/shared': - specifier: workspace:* - version: link:../packages/shared firebase-admin: specifier: ^12.0.0 version: 12.7.0 @@ -91,6 +88,9 @@ importers: specifier: ^4.8.0 version: 4.9.0(firebase-admin@12.7.0) devDependencies: + '@recall-buddy/shared': + specifier: workspace:* + version: link:../packages/shared '@types/node': specifier: ^20.0.0 version: 20.19.19