How to diagnose GitHub Actions storage limits and deploy an Astro blog to Cloudflare
📝 Originally published (in Japanese) at forge.workstyle.tech . TL;DR The setup is an Astro static site deployed to GitHub Pages with GitHub Actions, with DNS managed by Cloudflare. After two blog posts were rewritten and pushed on 2026-09-28, deployment failed because Actions storage had reached its limit. The blog had one remaining artifact of about 20MB, while a larger artifact in another…
Diagnosing GitHub Actions storage limits and deploying an Astro blog to Cloudflare involves several key steps. First, check your storage and minute limits on GitHub’s billing page. Even if a repository shows minimal artifact size, account-wide storage limits may be the issue. For the Astro blog deployed on GitHub Pages, the main cause was a single large artifact in another repository, not the blog artifacts themselves.
Next, analyze the monthly billing data through the billing API. Look at storage in GB-hours, which combines storage size and retention time. In the case of the blog, estimated storage usage from its 52 deployments was only 25 GB-hours, far less than the 1,488 GB-hours reported by the main repository. Investigate other repositories' potential contributors to the storage limit.
After identifying the root cause, shorten the retention period for large artifacts. For Windows builds causing the issue, reducing retention from 7 days to 1 day cut usage from 57 GB-hours to 8 GB-hours. Consider moving large installer files to Releases, which don't count against storage.
Finally, for a full migration to Cloudflare, move the static Astro blog to Cloudflare Workers instead of GitHub Pages. Configure the build to serve from the dist directory and update scripts to deploy with Wrangler. Switching DNS and handling potential brief outages during DNS changes are also critical steps. By following these steps, you can diagnose storage limits and successfully move a static site to Cloudflare.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.