development
copilot/add-i18n-support-for-english
dependabot/npm_and_yarn/astro-5.16.4
dependabot/npm_and_yarn/katex-0.16.27
dependabot/npm_and_yarn/prettier-3.7.4
dependabot/npm_and_yarn/tailwindcss-4.1.16
dependabot/npm_and_yarn/tailwindcss/vite-4.1.16
dependabot/npm_and_yarn/typescript-eslint-8.46.2
dependabot/npm_and_yarn/typescript-eslint/parser-8.46.2
development
main
Deployment Checklist - Desktop Downloads Feature
Use this checklist to ensure smooth deployment of the desktop downloads feature.
Pre-Deployment
1. GitHub Setup
- Created GitHub Personal Access Token
- Token has correct scope (
repoor fine-grainedContents: Read) - Token is saved securely (password manager)
- Token expiration date noted in calendar
2. Repository Setup
- At least one release exists in repository
- Release is marked as "latest" (not draft or pre-release)
- Release has assets uploaded
- Assets follow naming convention (platform-arch.ext)
- All platforms have builds (macOS, Windows, Linux)
3. Local Testing
- Created
.envfile withGITHUB_TOKEN - Ran
npm run test:releasessuccessfully - Started dev server (
npm run dev) - Visited
/downloadpage - loads correctly - All platforms detected correctly
- Download links work
- Tested on mobile viewport
- No console errors
4. Code Review
- API endpoint properly authenticates
- Error handling in place
- Types are correct
- Cache headers configured
- No hardcoded tokens or secrets
-
.envis in.gitignore
Deployment
5. Environment Variables
- Added
GITHUB_TOKENto production environment - Verified token value is correct (no extra spaces)
- Environment variable is marked as secret/hidden
- Tested environment variable is accessible
6. Build & Deploy
- Code committed to repository
- All tests passing
- Built successfully (
npm run build) - Deployed to staging/preview environment
- Tested on staging environment
- Deployed to production
7. Production Testing
- Visited production
/downloadpage - Desktop downloads section appears
- All platforms showing correctly
- Version number is correct
- File sizes displaying properly
- Download links functional
- Tested at least one download from each platform
- Mobile app store links still work
- Page loads in under 3 seconds
Post-Deployment
8. Monitoring
- Check server logs for errors
- Monitor API response times
- Check GitHub API rate limit usage
- Verify cache headers are working
- Test from different geographic locations
- Monitor download completion rates
9. Documentation
- Updated team documentation
- Shared GitHub token securely with team
- Documented token rotation schedule
- Updated runbook for common issues
- Notified stakeholders of deployment
10. User Communication
- Announced desktop app availability
- Updated social media / blog
- Sent newsletter (if applicable)
- Updated app store descriptions with desktop link
- Added desktop downloads to navigation/footer
Platform-Specific Checks
macOS
- Apple Silicon build available
- Intel build available
- .dmg files open correctly
- App is signed (if applicable)
- Gatekeeper warnings acceptable
Windows
- x64 build available
- .exe or .msi installs correctly
- Windows Defender doesn't block
- App is signed (if applicable)
Linux
- AppImage is executable
- .deb installs on Debian/Ubuntu
- .rpm installs on Fedora/RHEL
- Correct architecture (x64/ARM64)
Security Checklist
11. Security Verification
- GitHub token not in source code
- Token not in git history
-
.envfile in.gitignore - Token has minimum required permissions
- API endpoint doesn't leak token
- Downloads don't expose asset IDs publicly
- HTTPS enabled on production
- No CORS issues
Performance Checklist
12. Performance Verification
- API response time < 2 seconds
- Cache headers working (5 minutes)
- Page loads quickly
- No unnecessary API calls
- Images optimized
- JavaScript bundle size reasonable
Rollback Plan
13. Rollback Preparation
- Previous deployment still accessible
- Know how to revert deployment
- Have backup of environment variables
- Can quickly disable feature if needed
- Team knows rollback procedure
Issue Response
14. Support Preparation
- Support team trained on new feature
- Common issues documented
- Troubleshooting guide accessible
- Contact channels working
- Escalation path defined
Maintenance Schedule
15. Ongoing Maintenance
- Token rotation scheduled (6-12 months)
- Release process documented
- Monitoring dashboards set up
- Performance benchmarks recorded
- User feedback collection method established
Success Metrics
16. Define Success
- Tracking desktop download counts
- Monitoring platform distribution
- Measuring page load times
- Tracking error rates
- User satisfaction metric defined
Sign-Off
Final Approval
- Technical lead approved
- QA team approved
- Product owner approved
- Security review passed
- Ready for production traffic
Quick Commands Reference
# Test GitHub connection
npm run test:releases
# Run locally
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Check environment variable
echo $GITHUB_TOKEN
# Test API endpoint
curl https://your-domain.com/api/download-desktop-app | jq
Emergency Contacts
- Technical Lead: [Add contact]
- DevOps Team: [Add contact]
- On-Call Engineer: [Add contact]
- GitHub Support: support@github.com
Post-Deployment Notes
Deployed By: ___________________
Date: ___________________
Version: ___________________
Environment: ___________________
Issues Found: ___________________
Resolution: ___________________
Verification Commands
Test Production API
curl https://pepakbasajawa.com/api/download-desktop-app | jq
Check Rate Limit
curl -H "Authorization: Bearer $GITHUB_TOKEN" \
https://api.github.com/rate_limit | jq
Verify Release Assets
curl -H "Authorization: Bearer $GITHUB_TOKEN" \
https://api.github.com/repos/setoelkahfi/pepakbasajawa/releases/latest | jq
Monitor Cache Headers
curl -I https://pepakbasajawa.com/api/download-desktop-app
Checklist Version: 1.0.0
Last Updated: 2024
Status: Ready for Use ✅