Skip to content

chore: split deploy.yml into deploy-server.yml and `deploy-web.ym… #1

chore: split deploy.yml into deploy-server.yml and `deploy-web.ym…

chore: split deploy.yml into deploy-server.yml and `deploy-web.ym… #1

Workflow file for this run

name: Deploy Web Application
on:
push:
branches:
- main
env:
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
PROJECT_NAME: ${{ vars.CLIENT_PROJECT_NAME }}
BUILD_OUTPUT_DIR: apps/web/dist
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APP_TITLE: ${{ vars.CLIENT_APP_TITLE }}
API_URL: ${{ vars.CLIENT_API_URL }}
PAGINATION_LIMIT: ${{ vars.CLIENT_PAGINATION_LIMIT }}
jobs:
build-and-deploy:
runs-on: ubuntu-latest
environment: prod
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build Web App
run: |
export VITE_APP_TITLE=${{ env.APP_TITLE }}
export VITE_API_URL=${{ env.API_URL }}
export VITE_API_WS_URL=${{ env.API_URL }}
export VITE_PAGINATION_LIMIT=${{ env.PAGINATION_LIMIT }}
make client-prod
- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1.5.0
with:
branch: main
accountId: ${{ env.CLOUDFLARE_ACCOUNT_ID }}
apiToken: ${{ env.CLOUDFLARE_API_TOKEN }}
projectName: ${{ env.PROJECT_NAME }}
directory: ${{ env.BUILD_OUTPUT_DIR }}
gitHubToken: ${{ env.GITHUB_TOKEN }}