Note: This checklist is from a previous deployment. The site is now deployed to Netlify at https://shaftengine.netlify.app/, and GitHub Pages (https://shafthq.github.io/) serves only as a redirect.
- Site migrated to Netlify (https://shaftengine.netlify.app/)
- GitHub Pages configured to redirect to Netlify
- All URLs updated to point to Netlify
- Workflows updated to deploy redirect page to GitHub Pages
- Documentation updated to reflect new deployment
- Primary: Netlify (https://shaftengine.netlify.app/)
- Redirect: GitHub Pages (https://shafthq.github.io/ → Netlify)
- CI/CD: GitHub Actions for testing + redirect deployment, Netlify for production builds
All items below have been completed and verified:
- Updated to gemini-3-flash (latest model)
- Added gemini-2.5-flash fallback
- Implemented automatic model fallback logic
- Standardized to GEMINI_API_KEY (removed REACT_APP_GEMINI_API_KEY)
- Updated all 22 files consistently
- Chat history tests passing (4/4)
- E2E UI tests passing (6/6)
- API tests ready (needs API key)
- Error handling verified
- Screenshots captured
- GitHub Actions configured for API key in Test step
- GitHub Actions configured for API key in Build step
- Configuration chain verified
- .env.example updated
- Workflows updated
- README.md updated
- CHATBOT_TESTING.md created
- CONFIGURATION_VERIFICATION.md created
- GITHUB_ACTIONS_TEST_SETUP.md created
- E2E_TEST_RESULTS.md created
- TEST_REPORT.md created
- FINAL_SUMMARY.md created
- This deployment checklist created
- Code review completed (no issues)
- CodeQL security scan passed
- No hardcoded secrets
- Build successful
- All executed tests passing
Who: Repository Administrator
What: Add GEMINI_API_KEY secret
Instructions:
- Go to: https://github.com/ShaftHQ/shafthq.github.io/settings/secrets/actions
- Click "New repository secret"
- Enter:
- Name:
GEMINI_API_KEY - Value: [Your Gemini API key from https://ai.google.dev/gemini-api/docs/api-key]
- Name:
- Click "Add secret"
Verification:
- Secret name must be exactly:
GEMINI_API_KEY(case-sensitive) - Secret should not include quotes or extra whitespace
Who: Repository Maintainer
What: Review and merge this PR
Instructions:
- Review all code changes
- Check test results in PR
- Approve PR
- Merge to master branch
Who: QA / Repository Maintainer
What: Test deployed chatbot
Instructions:
- Wait for GitHub Actions to complete (~3-5 minutes)
- Visit: https://shafthq.github.io
- Click chatbot button (bottom-right, robot icon)
- Type: "what is SHAFT?"
- Verify bot responds with relevant SHAFT information
Expected Response Should:
- Be at least 50 characters long
- Contain keywords: SHAFT, automation, framework, test
- NOT contain: "API key", "error", "Error"
- Be helpful and relevant
Example Good Response:
SHAFT (Selenium Hybrid Automation Framework for Testing) is an award-winning,
all-in-one test automation framework that drives GUI (web, mobile & desktop),
API, CLI, and Database test automation with zero boilerplate code...
Example Bad Response (Indicates Problem):
Gemini API key not configured...
Who: DevOps / Repository Maintainer
What: Verify tests pass in CI/CD
Instructions:
- Go to: https://github.com/ShaftHQ/shafthq.github.io/actions
- Check latest workflow run
- Verify all steps pass:
- ✅ Install
- ✅ Test (with API key)
- ✅ Build (with API key)
- ✅ Deploy
Expected Test Results (with API key):
Total Tests: 8
✅ Passed: 8
❌ Failed: 0
⏭️ Skipped: 0
Success Rate: 100%
Symptoms:
- Tests show as "SKIPPED" in GitHub Actions
- Success rate is 50% instead of 100%
Solutions:
- Verify secret name is exactly
GEMINI_API_KEY - Check secret is in repository settings (not your account)
- Re-run workflow (may need fresh run)
- Check test logs for "API key found" vs "API key not configured"
Symptoms:
- User sees: "Gemini API key not configured..."
- Bot doesn't respond with SHAFT information
Solutions:
- Verify GEMINI_API_KEY secret is added
- Check deployment workflow succeeded
- Verify secret value is correct (try regenerating API key)
- Check browser console for detailed error messages
Symptoms:
- Bot returns error even with API key
- Console shows model not found
Solutions:
- Check Gemini API status: https://status.ai.google.dev
- Verify API key has access to gemini-3-flash and gemini-2.5-flash
- Check rate limits haven't been exceeded
- Review fallback logic in src/components/AutoBot/index.tsx
After deployment is complete, verify:
- Homepage loads successfully
- Chatbot button is visible (bottom-right)
- Chatbot opens when clicked
- Welcome message displays
- Can type queries
- Query "what is SHAFT?" returns relevant information
- No error messages visible
- Response contains SHAFT keywords
- UI/UX is smooth and professional
If deployment fails:
- Immediate: Revert PR merge
- Investigation: Check GitHub Actions logs
- Fix: Address issues found in logs
- Re-deploy: Create new PR with fixes
Deployment is successful when:
✅ All GitHub Actions tests pass (100%)
✅ Build completes successfully
✅ Site deploys to GitHub Pages
✅ Chatbot responds intelligently to queries
✅ No error messages visible to users
✅ Response relevance ≥ 50% (target: 85%+)
Questions or Issues?
- Review documentation in repository
- Check GitHub Actions logs
- Review console messages in browser
- Contact repository maintainers
Key Documentation Files:
README.md- Overview and setupCHATBOT_TESTING.md- Testing guideGITHUB_ACTIONS_TEST_SETUP.md- CI/CD configurationE2E_TEST_RESULTS.md- Test execution detailsCONFIGURATION_VERIFICATION.md- Configuration validation
- Code changes reviewed and approved
- Tests reviewed and passing
- Documentation reviewed and complete
- Security verification completed
- Ready for deployment
Approved by: _________________
Date: _________________
Deployment executed by: _________________
Deployment date: _________________
Status: 🚀 READY FOR DEPLOYMENT