Skip to content

Merge pull request #107 from RotaractMora/dev #60

Merge pull request #107 from RotaractMora/dev

Merge pull request #107 from RotaractMora/dev #60

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
on:
push:
branches:
- main
- dev
workflow_dispatch:
inputs:
environment:
description: 'Environment to deploy (for dev branch only)'
required: false
default: 'all'
type: choice
options:
- all
- rur-26-prod
- rur-26-dev
permissions:
contents: read
checks: write
pull-requests: write
jobs:
# Main branch deployment - FTP + Firebase (prod-26)
deploy_main:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
env:
NEXT_PUBLIC_API_KEY: ${{ secrets.NEXT_PUBLIC_API_KEY_PROD_26 }}
NEXT_PUBLIC_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_AUTH_DOMAIN_PROD_26 }}
NEXT_PUBLIC_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_PROJECT_ID_PROD_26 }}
NEXT_PUBLIC_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_STORAGE_BUCKET_PROD_26 }}
NEXT_PUBLIC_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_MESSAGING_SENDER_ID_PROD_26 }}
NEXT_PUBLIC_APP_ID: ${{ secrets.NEXT_PUBLIC_APP_ID_PROD_26 }}
NEXT_PUBLIC_STATUS: rur-26-prod
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- name: Deploy through FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local-dir: ./out/
server-dir: ./
passive: false
protocol: ftps
port: 21
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROD_26 }}
projectId: rur-26-web-prod
channelId: live
target: prod-26
# Dev branch deployment - Firebase hosting with environment selection
# deploy_dev_rur_24 - no longer needed
# deploy_dev_rur_24:
# if: github.ref == 'refs/heads/dev' && (github.event_name == 'push' || github.event.inputs.environment == 'all' || github.event.inputs.environment == 'rur-24-prod')
# runs-on: ubuntu-latest
# env:
# NEXT_PUBLIC_API_KEY: ${{ secrets.NEXT_PUBLIC_API_KEY_RUR_24 }}
# NEXT_PUBLIC_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_AUTH_DOMAIN_RUR_24 }}
# NEXT_PUBLIC_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_PROJECT_ID_RUR_24 }}
# NEXT_PUBLIC_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_STORAGE_BUCKET_RUR_24 }}
# NEXT_PUBLIC_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_MESSAGING_SENDER_ID_RUR_24 }}
# NEXT_PUBLIC_APP_ID: ${{ secrets.NEXT_PUBLIC_APP_ID_RUR_24 }}
# NEXT_PUBLIC_STATUS: rur-24-prod
# steps:
# - uses: actions/checkout@v4
# - run: npm ci && npm run build
# - uses: FirebaseExtended/action-hosting-deploy@v0
# with:
# repoToken: ${{ secrets.GITHUB_TOKEN }}
# firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_RUR_24 }}
# projectId: rur-24
# channelId: dev-branch
# target: rur-24
# deploy_dev_prod_26 - dev branch deploys to dev-26 only, not prod-26
# deploy_dev_prod_26:
# if: github.ref == 'refs/heads/dev' && (github.event_name == 'push' || github.event.inputs.environment == 'all' || github.event.inputs.environment == 'rur-26-prod')
# runs-on: ubuntu-latest
# env:
# NEXT_PUBLIC_API_KEY: ${{ secrets.NEXT_PUBLIC_API_KEY_PROD_26 }}
# NEXT_PUBLIC_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_AUTH_DOMAIN_PROD_26 }}
# NEXT_PUBLIC_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_PROJECT_ID_PROD_26 }}
# NEXT_PUBLIC_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_STORAGE_BUCKET_PROD_26 }}
# NEXT_PUBLIC_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_MESSAGING_SENDER_ID_PROD_26 }}
# NEXT_PUBLIC_APP_ID: ${{ secrets.NEXT_PUBLIC_APP_ID_PROD_26 }}
# NEXT_PUBLIC_STATUS: rur-26-prod
# steps:
# - uses: actions/checkout@v4
# - run: npm ci && npm run build
# - uses: FirebaseExtended/action-hosting-deploy@v0
# with:
# repoToken: ${{ secrets.GITHUB_TOKEN }}
# firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROD_26 }}
# projectId: rur-26-web-prod
# channelId: dev-branch
# target: prod-26
deploy_dev_dev:
if: github.ref == 'refs/heads/dev' && (github.event_name == 'push' || github.event.inputs.environment == 'all' || github.event.inputs.environment == 'rur-26-dev')
runs-on: ubuntu-latest
env:
NEXT_PUBLIC_API_KEY: ${{ secrets.NEXT_PUBLIC_API_KEY_DEV }}
NEXT_PUBLIC_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_AUTH_DOMAIN_DEV }}
NEXT_PUBLIC_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_PROJECT_ID_DEV }}
NEXT_PUBLIC_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_STORAGE_BUCKET_DEV }}
NEXT_PUBLIC_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_MESSAGING_SENDER_ID_DEV }}
NEXT_PUBLIC_APP_ID: ${{ secrets.NEXT_PUBLIC_APP_ID_DEV }}
NEXT_PUBLIC_STATUS: rur-26-dev
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEV }}
projectId: rur-26-dev
channelId: dev-branch
target: dev