Files
ptp/.github/workflows/deploy.yml
T
2025-08-02 11:45:16 +02:00

43 lines
1.2 KiB
YAML

name: Deploy to Cloudflare R2
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- name: Build
run: hugo --config config-prod.toml --minify
- name: Configure AWS CLI for Cloudflare R2
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
aws-region: auto
- name: Deploy to Cloudflare R2
run: |
aws s3 sync ./public/ s3://${{ secrets.BUCKET_NAME }}/ \
--endpoint-url=https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com \
--acl public-read \
--delete
- name: Purge Cloudflare Cache
uses: jakejarvis/cloudflare-purge-action@v0.3.0
env:
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}