# GitHub Actions CI/CD Setup Checklist ## ✅ mdBook Documentation Workflows ### Workflows Installed - [x] `.github/workflows/mdbook-build-deploy.yml` — Build & deploy mdBook - [x] `.github/workflows/docs-lint.yml` — Markdown & configuration validation - [x] `.github/workflows/mdbook-publish.yml` — Custom deployment trigger ### Pre-Deployment Configuration #### For GitHub Pages Deployment - [ ] Go to Repository **Settings** → **Pages** - [ ] Select **Source**: GitHub Actions - [ ] Click **Save** - [ ] (Optional) Add **Custom domain** (e.g., docs.vapora.io) - [ ] (Optional) Enable **Enforce HTTPS** #### For Custom Deployment - [ ] Review `.github/workflows/mdbook-publish.yml` - [ ] Add custom deployment script (S3, Docker, etc.) - [ ] Add secrets in **Settings** → **Secrets and variables** → **Actions** - [ ] Test with `git push origin main` to docs/ ### Documentation Files Created - [x] `docs/mdbook-setup.md` — mdBook setup guide - [x] `docs/github-actions-setup.md` — Complete workflow documentation - [x] `docs/deployment-guide.md` — Deployment procedures - [x] `.github/WORKFLOWS.md` — Quick reference for developers ## 🚀 Initial Deployment Test ### Local Testing ```bash # Build locally cd docs && mdbook build # Verify output ls -la docs/book/index.html du -sh docs/book/ # Serve locally mdbook serve # Open http://localhost:3000 ``` ### Trigger First Workflow ```bash # Make a test commit to docs/ git add docs/README.md git commit -m "test: trigger mdBook workflow" git push origin main # Monitor workflow # Go to: Repository → Actions → mdBook Build & Deploy ``` ### Verify Workflow Execution - [ ] Workflow triggered automatically - [ ] Build job completed successfully - [ ] Quality check passed - [ ] Artifact uploaded (check Artifacts section) - [ ] (If Pages enabled) Deployment job completed - [ ] Check GitHub Actions workflow summary ## 📊 Post-Deployment Verification ### GitHub Pages (if enabled) - [ ] Go to **Settings** → **Pages** - [ ] See message: "Your site is live at: https://..." - [ ] Click link and verify site loads - [ ] Test navigation - [ ] Test search functionality - [ ] Test dark mode toggle - [ ] Verify on mobile device ### Artifact Management - [ ] Artifacts appear in workflow runs - [ ] Download an artifact and verify structure - [ ] Verify 30-day retention policy - [ ] Check total artifact size ### Workflow Monitoring - [ ] Open workflow run details - [ ] Verify all steps completed - [ ] Check step summaries - [ ] Review any warnings ## 🔐 Security Configuration ### Branch Protection - [ ] Go to **Settings** → **Branches** - [ ] Add rule for `main` branch - [ ] Enable "Require pull request reviews" - [ ] Enable "Require status checks to pass" - [ ] Select: mdBook Build & Deploy - [ ] Select: docs-lint ### Secrets Management - [ ] If using custom deployment: - [ ] Go to **Settings** → **Secrets and variables** → **Actions** - [ ] Add deployment secrets (e.g., DEPLOY_TOKEN, AWS_KEY) - [ ] Verify secrets not logged in workflow runs - [ ] Set up secret rotation schedule ## 📚 Team Communication ### Documentation Updates Needed - [ ] Update main README.md with docs link - [ ] Update CONTRIBUTING.md with doc workflow - [ ] Update release notes template with docs updates - [ ] Add link to `.github/WORKFLOWS.md` in project wiki ### Team Notification - [ ] Announce workflows to team - [ ] Share `.github/WORKFLOWS.md` quick reference - [ ] Point to `docs/deployment-guide.md` for deployment info - [ ] Schedule documentation training if needed ## 🔄 Operational Procedures ### Weekly Checks - [ ] Monitor workflow run times (should be ~1 min) - [ ] Check for any failed runs - [ ] Review artifact sizes - [ ] Verify no broken links in quality checks ### Monthly Maintenance - [ ] Update workflow dependencies (if any) - [ ] Review and rotate secrets if used - [ ] Archive old artifacts (GitHub does auto-cleanup) - [ ] Update documentation as needed ### Before Major Release - [ ] Build and test documentation locally - [ ] Push to main to trigger full workflow - [ ] Verify all checks pass - [ ] Download and review artifact - [ ] Verify GitHub Pages site (if enabled) - [ ] Announce docs update to users ## 📞 Troubleshooting Reference ### Workflow Fails 1. Go to **Actions** → Failed workflow run 2. Click job name to see logs 3. Expand failed step for error details 4. Compare with `.github/WORKFLOWS.md` troubleshooting 5. Fix issue and push again ### Links Broken 1. Check `docs/src/SUMMARY.md` paths 2. Verify files exist in referenced locations 3. Use relative paths only: `../section/file.md` 4. Rebuild locally to test ### GitHub Pages Not Updating 1. Wait 1-2 minutes 2. Hard refresh (Ctrl+Shift+R) 3. Check **Settings** → **Pages** → Source 4. Verify workflow completed successfully 5. Check Pages deployment job logs ## 📋 Final Verification ### All Checks Passing - [ ] Workflow files created - [ ] Documentation files created - [ ] mdBook builds successfully locally - [ ] First workflow run successful - [ ] All quality checks pass - [ ] Artifacts generate correctly - [ ] GitHub Pages shows docs (if enabled) - [ ] Team notified ### System Ready - [ ] Documentation workflow automated - [ ] Developers can push docs changes - [ ] Changes automatically deployed - [ ] Quality validated - [ ] No manual deployment steps needed ## 📈 Success Metrics Track these metrics going forward: | Metric | Target | Current | |--------|--------|---------| | Workflow run time | < 2 min | — | | Build success rate | 100% | — | | Artifact upload rate | 100% | — | | Lint warning rate | < 5% | — | | Pages uptime | 99.9% | — | --- ## 🎯 Next Steps 1. **Complete pre-deployment checklist** above 2. **Configure GitHub Pages** (if desired) 3. **Push test commit** to trigger workflows 4. **Monitor first run** in Actions tab 5. **Verify deployment** (locally or on Pages) 6. **Notify team** of new workflow 7. **Document findings** in project wiki 8. **Schedule review** in 1 week to confirm stability --- **Checklist Created**: 2026-01-12 **Status**: Ready to Deploy **Support**: See `.github/WORKFLOWS.md` for quick reference