cosense-site-kit は GitHub Pages と Cloudflare Workers Static Assets の両方に対応します。どちらも GitHub Actions の cron でビルドして配信する前提です。

共通: ワークフローを生成

npx cosense-site deploy init

cosense.config.ts の deploy.target に従い、.github/workflows/build.yml が生成されます。

GitHub Pages

リポジトリの Settings → Pages → Source を GitHub Actions に切り替えます。それだけ。

サブパス(<user>.github.io/<repo>/)に配信する場合は site.base を設定します:

site: {
  baseUrl: "https://shinyaoguri.github.io",
  base: "/cosense-site-kit",
}

Cloudflare Workers Static Assets

リポジトリ Secrets に2つ追加:

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_ACCOUNT_ID

ワークフロー生成時に wrangler.jsonc も出力されます。

スケジュール

デフォルトは cron: "17 1,13 * * *"(1日2回、毎時00分を避けたタイミング)。Cosense は分単位で更新する性質ではないので、これで十分です。

キャッシュ

actions/cache@v4 で .cosense-cache/ を CI 実行間に永続化します。差分 fetch のおかげで、2 回目以降のビルドは Cosense への負荷も時間もごく小さくなります。

関連

テンプレートから作った場合

cosense-site-starter から作ったリポジトリは .github/workflows/build.yml を同梱済みなので deploy init は不要です。Settings → Pages → Source を GitHub Actions にするだけで動きます。