60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
# Simple workflow for deploying static content to Cloudflare Pages
|
|
name: Deployment (Staging)
|
|
|
|
on:
|
|
# Runs on pushes targeting the default branch
|
|
push:
|
|
branches: ['main']
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
# Single deploy job since we're just deploying
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 'lts/*'
|
|
cache: 'npm'
|
|
|
|
- name: Set environment variables
|
|
run: |
|
|
echo "VITE_GA_MEASUREMENT_ID=${{ secrets.VITE_GA_MEASUREMENT_ID }}" > .env
|
|
if [[ -n "${{ vars.VITE_BC_NAME }}" ]]; then
|
|
echo "VITE_BC_NAME=${{ vars.VITE_BC_NAME }}" >> .env
|
|
fi
|
|
if [[ -n "${{ vars.VITE_BC_POSITION }}" ]]; then
|
|
echo "VITE_BC_POSITION=${{ vars.VITE_BC_POSITION }}" >> .env
|
|
fi
|
|
if [[ -n "${{ vars.VITE_BC_INSTAGRAM }}" ]]; then
|
|
echo "VITE_BC_INSTAGRAM=${{ vars.VITE_BC_INSTAGRAM }}" >> .env
|
|
fi
|
|
if [[ -n "${{ vars.VITE_BC_FACEBOOK }}" ]]; then
|
|
echo "VITE_BC_FACEBOOK=${{ vars.VITE_BC_FACEBOOK }}" >> .env
|
|
fi
|
|
if [[ -n "${{ secrets.VITE_BC_PHONE }}" ]]; then
|
|
echo "VITE_BC_PHONE=${{ secrets.VITE_BC_PHONE }}" >> .env
|
|
fi
|
|
if [[ -n "${{ secrets.VITE_BC_EMAIL }}" ]]; then
|
|
echo "VITE_BC_EMAIL=${{ secrets.VITE_BC_EMAIL }}" >> .env
|
|
fi
|
|
|
|
- name: Install dependencies
|
|
run: npm ci --omit=dev
|
|
|
|
- name: Build
|
|
run: npm run build:prod
|
|
|
|
- name: Deploy to Cloudflare Workers
|
|
uses: cloudflare/wrangler-action@v3
|
|
with:
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: pages deploy dist --project-name="${{ secrets.CLOUDFLARE_PAGES_PROJECT }}" --commit-dirty=true
|