List view
As part of the milestone to improve deployment reliability and maintainability, we should enhance our current GitHub Actions setup that uses [`peaceiris/actions-gh-pages`](https://github.com/peaceiris/actions-gh-pages). The current workflow covers the basics (tag-based deploys, weekly cron job, manual dispatch), but lacks robustness and advanced features. This issue tracks improvements that will make the deployment process more reliable, configurable, and aligned with best practices. ### Goal Make the GitHub Pages deploy pipeline more robust, production-friendly, and easier to maintain. ### Milestone Scope - Review [`peaceiris/actions-gh-pages`](https://github.com/peaceiris/actions-gh-pages) usage and documentation. - Investigate and potentially adopt advanced features and flags. - Harden the current workflow against common failure modes. ### Tasks - [ ] Deep-dive into the [`actions-gh-pages`](https://github.com/peaceiris/actions-gh-pages) documentation. - [ ] Use SHA pinning instead of a version tag for more reliable CI. - [ ] Validate `./out` directory before deployment. - [ ] Add conditional logic to skip deploy when no output changes. - [ ] Improve error visibility (e.g., fail-fast or graceful fallback). - [ ] Consider enabling dry-run mode during testing. - [ ] Add caching for `node_modules` using `actions/cache` to optimize CI time. - [ ] Optionally split `build` and `deploy` into separate jobs for clearer logs and retry logic. - [ ] Evaluate support for preview deploys on PRs or deploying `main` to a staging branch. - [ ] Add basic alerting (Slack, Discord, email, etc.) on deployment result. - [ ] Ensure compatibility with branch protection rules (e.g., skip CI checks on deploy commits). ### Related - [Current deploy workflow implementation](https://github.com/steadyfall/steadyfall.github.io/blob/main/.github/workflows/deploy.yml) - [peaceiris/actions-gh-pages GitHub](https://github.com/peaceiris/actions-gh-pages)
Overdue by 13 day(s)•Due by July 31, 2025•2/4 issues closed