Skip to content

Strip internal port from Auth.js public origin #11

Strip internal port from Auth.js public origin

Strip internal port from Auth.js public origin #11

name: Deploy App Service
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
concurrency:
group: deploy-appservice-production
cancel-in-progress: true
jobs:
deploy:
name: Build and Deploy
runs-on: ubuntu-latest
environment:
name: production
url: https://exam-cooker.acmvit.in
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- name: Restore Next.js build cache
uses: actions/cache@v4
with:
path: .next/cache
key: ${{ runner.os }}-next-${{ hashFiles('package-lock.json') }}-${{ hashFiles('next.config.ts', 'tsconfig.json', 'tailwind.config.ts', 'postcss.config.mjs') }}
restore-keys: |
${{ runner.os }}-next-${{ hashFiles('package-lock.json') }}-
- name: Install dependencies
run: npm ci --no-audit --prefer-offline
- name: Build application
run: npm run build
- name: Package deployment payload
run: |
set -eux
rm -rf deploy
mkdir -p deploy
rsync -a .next/standalone/ deploy/
mkdir -p deploy/.next
rsync -a .next/static/ deploy/.next/static/
cp startup.sh deploy/startup.sh
if [ -d public ]; then
rsync -a public/ deploy/public/
fi
if [ -d src/generated ]; then
mkdir -p deploy/src/generated
rsync -a src/generated/ deploy/src/generated/
fi
if [ -d prisma ]; then
rsync -a prisma/ deploy/prisma/
fi
cd deploy
zip -qry ../webapp-package.zip .
- name: Deploy to Azure App Service
uses: azure/webapps-deploy@v3
with:
app-name: examcooker-2024
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: webapp-package.zip