Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 12 additions & 15 deletions .github/workflows/firebase-hosting-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
27 changes: 12 additions & 15 deletions .github/workflows/firebase-hosting-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
2 changes: 1 addition & 1 deletion app/src/pages/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -705,7 +705,7 @@ const Settings: React.FC = () => {
새로운 기능과 개선사항을 확인하세요
</p>
<a
href="https://chucoding.notion.site/Release-Note-287fd64d44a08080a7a3c74f2f2f66b3"
href="https://www.notion.so/chucoding/RELEASE_NOTE-287fd64d44a080cd9564d2492b7de718"
target="_blank"
rel="noopener noreferrer"
className="release-note-button"
Expand Down
6 changes: 5 additions & 1 deletion firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log"
"firebase-debug.*.log",
"src",
"*.ts",
"tsconfig.json",
"tsup.config.ts"
]
}
],
Expand Down
12 changes: 6 additions & 6 deletions functions/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@
"build": "tsup",
"serve": "pnpm build && firebase emulators:start --only functions,firestore",
"deploy": "pnpm build && firebase deploy --only functions",
"deploy:github": "pnpm build && firebase deploy --only functions:getCommits,functions:getFilename,functions:getMarkdown",
"deploy:github": "pnpm build && firebase deploy --only functions:getCommits,functions:getFilename,functions:getMarkdown,functions:getRepositories,functions:getBranches",
"deploy:schedule": "pnpm build && firebase deploy --only functions:sendDaily8amPush",
"deploy:hypercloax": "pnpm build && firebase deploy --only functions:hypercloaxApi,functions:chatCompletions,functions:registerDeviceToken,functions:removeDeviceToken,functions:registerSchedule"
"deploy:hypercloax": "pnpm build && firebase deploy --only functions:chatCompletions"
},
"dependencies": {
"@recall-buddy/shared": "workspace:*",
"firebase-admin": "^12.0.0",
"firebase-functions": "^4.8.0"
},
"devDependencies": {
"typescript": "^5.0.0",
"@recall-buddy/shared": "workspace:*",
"@types/node": "^20.0.0",
"tsup": "^8.0.0",
"@types/node": "^20.0.0"
"typescript": "^5.0.0"
}
}
}
30 changes: 25 additions & 5 deletions functions/src/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ async function getUserData(req: any): Promise<{

// GitHub API 호출을 위한 HTTP Functions
export const getCommits = onRequest(
{ cors: true, region: 'asia-northeast3' },
{
cors: true,
region: 'asia-northeast3',
invoker: 'public' // CORS preflight 통과용
},
async (req, res) => {
try {
const { since, until } = req.query;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
6 changes: 5 additions & 1 deletion functions/src/hyperclovax.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 3 additions & 1 deletion functions/tsup.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ export default defineConfig({
platform: 'node',
shims: false,
treeshake: true,
dts: false
dts: false,
// workspace 패키지를 번들에 포함 (Firebase 배포용)
noExternal: ['@recall-buddy/shared']
});
6 changes: 3 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.