Some checks failed
Deploy to Cloudflare Pages via API / deploy (push) Failing after 54s
45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
name: Deploy to Cloudflare Pages via API
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
CLOUDFLARE_ACCOUNT_ID: a98613a97af9b041d6a1ecd3d04f3007
|
|
PAGES_PROJECT_NAME: sample # Replace with your Pages project name
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install MkDocs
|
|
run: |
|
|
sudo apt update && sudo apt upgrade -y
|
|
sudo apt install python3 python3-pip mkdocs mkdocs-material -y
|
|
|
|
- name: Build MkDocs
|
|
run: mkdocs build
|
|
|
|
- name: Install curl and zip
|
|
run: sudo apt install curl zip -y
|
|
|
|
- name: Create deployment archive
|
|
run: |
|
|
cd site # MkDocs output directory
|
|
zip -r ../deployment.zip . # Zip the built files
|
|
|
|
- name: Deploy to Cloudflare Pages
|
|
run: |
|
|
DEPLOY_RESPONSE=$(curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/pages/projects/$PAGES_PROJECT_NAME/deployments" \
|
|
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
|
|
-F "files=@deployment.zip" \
|
|
-F "manifest={\"site\": \"site\"}")
|
|
if echo "$DEPLOY_RESPONSE" | grep -q '"success":true'; then
|
|
echo "Deployment successful!"
|
|
else
|
|
echo "Deployment failed: $DEPLOY_RESPONSE"
|
|
exit 1
|
|
fi |