- Terraform environments (production, staging) with R2 backend - Terraform modules: cloudflare-pages, cloudflare-worker, railway-service, digitalocean-droplet - Docker: multi-stage Dockerfiles for core, web, agents, operator + compose - CI templates: node-ci, terraform-ci, docker-ci reusable workflows - Composite actions: brand-compliance, deploy-cloudflare - Operational scripts: bootstrap, health-check, rotate-keys - GitHub Actions: terraform-plan, terraform-apply, docker-build Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
858 B
YAML
31 lines
858 B
YAML
# Copyright (c) 2025-2026 BlackRoad OS, Inc. All Rights Reserved.
|
|
name: Deploy to Cloudflare Pages
|
|
description: Build and deploy a project to Cloudflare Pages
|
|
|
|
inputs:
|
|
project-name:
|
|
description: Cloudflare Pages project name
|
|
required: true
|
|
directory:
|
|
description: Build output directory to deploy
|
|
required: true
|
|
api-token:
|
|
description: Cloudflare API token
|
|
required: true
|
|
account-id:
|
|
description: Cloudflare account ID
|
|
required: true
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Deploy to Cloudflare Pages
|
|
shell: bash
|
|
run: |
|
|
npx wrangler pages deploy "${{ inputs.directory }}" \
|
|
--project-name="${{ inputs.project-name }}" \
|
|
--branch="${GITHUB_REF_NAME}"
|
|
env:
|
|
CLOUDFLARE_API_TOKEN: ${{ inputs.api-token }}
|
|
CLOUDFLARE_ACCOUNT_ID: ${{ inputs.account-id }}
|