name: Deploy to Cloudflare Pages (cobalt) on: push: branches: ["main", "master"] workflow_dispatch: {} jobs: build-and-deploy: runs-on: ubuntu-latest env: CF_PAGES_PROJECT: ${{ vars.CF_PAGES_PROJECT }} # 例: blog PROD_BRANCH: "main" # Pagesの本番ブランチ CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CI: "1" steps: - name: Checkout uses: https://github.com/actions/checkout@v4 - name: Install cobalt (prebuilt via eget) shell: bash run: | set -euo pipefail apt-get update && apt-get install -y ca-certificates curl tar git curl -fsSL https://zyedidia.github.io/eget.sh | sh ./eget cobalt-org/cobalt.rs --to /usr/local/bin/cobalt cobalt --version - name: Build site with cobalt run: cobalt build # 既定出力: ./_site - name: Compute BRANCH_NAME and COMMIT meta id: meta shell: bash run: | bn="${GITHUB_REF_NAME:-${GITEA_REF_NAME:-}}" if [ -z "$bn" ]; then bn="$(git rev-parse --abbrev-ref HEAD)"; fi echo "BRANCH_NAME=$bn" >> "$GITHUB_ENV" echo "COMMIT_SHA=$(git rev-parse HEAD)" >> "$GITHUB_ENV" echo "COMMIT_MSG=$(git log -1 --pretty=%s)" >> "$GITHUB_ENV" - name: Deploy with wrangler-action uses: https://github.com/cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} command: pages deploy _site --project-name "${{ vars.CF_PAGES_PROJECT }}" --branch "${{ env.BRANCH_NAME }}"