Skip to content

Latest commit

 

History

History
249 lines (191 loc) · 6.92 KB

File metadata and controls

249 lines (191 loc) · 6.92 KB

Deployment Checklist ✅

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.

Current Deployment Status (Netlify Migration)

Migration Completed

  • 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

Deployment Architecture


Pre-Deployment Verification (Historical)

All items below have been completed and verified:

Code Changes

  • 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

Testing

  • Chat history tests passing (4/4)
  • E2E UI tests passing (6/6)
  • API tests ready (needs API key)
  • Error handling verified
  • Screenshots captured

Configuration

  • 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

Documentation

  • 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

Security & Quality

  • Code review completed (no issues)
  • CodeQL security scan passed
  • No hardcoded secrets
  • Build successful
  • All executed tests passing

Deployment Steps

Step 1: Add GitHub Secret (Required)

Who: Repository Administrator
What: Add GEMINI_API_KEY secret

Instructions:

  1. Go to: https://github.com/ShaftHQ/shafthq.github.io/settings/secrets/actions
  2. Click "New repository secret"
  3. Enter:
  4. Click "Add secret"

Verification:

  • Secret name must be exactly: GEMINI_API_KEY (case-sensitive)
  • Secret should not include quotes or extra whitespace

Step 2: Merge Pull Request

Who: Repository Maintainer
What: Review and merge this PR

Instructions:

  1. Review all code changes
  2. Check test results in PR
  3. Approve PR
  4. Merge to master branch

Step 3: Verify Deployment

Who: QA / Repository Maintainer
What: Test deployed chatbot

Instructions:

  1. Wait for GitHub Actions to complete (~3-5 minutes)
  2. Visit: https://shafthq.github.io
  3. Click chatbot button (bottom-right, robot icon)
  4. Type: "what is SHAFT?"
  5. 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...

Step 4: Monitor GitHub Actions

Who: DevOps / Repository Maintainer
What: Verify tests pass in CI/CD

Instructions:

  1. Go to: https://github.com/ShaftHQ/shafthq.github.io/actions
  2. Check latest workflow run
  3. 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%

Troubleshooting

Problem: API Tests Still Skipping

Symptoms:

  • Tests show as "SKIPPED" in GitHub Actions
  • Success rate is 50% instead of 100%

Solutions:

  1. Verify secret name is exactly GEMINI_API_KEY
  2. Check secret is in repository settings (not your account)
  3. Re-run workflow (may need fresh run)
  4. Check test logs for "API key found" vs "API key not configured"

Problem: Chatbot Shows Error Message

Symptoms:

  • User sees: "Gemini API key not configured..."
  • Bot doesn't respond with SHAFT information

Solutions:

  1. Verify GEMINI_API_KEY secret is added
  2. Check deployment workflow succeeded
  3. Verify secret value is correct (try regenerating API key)
  4. Check browser console for detailed error messages

Problem: Model Fallback Not Working

Symptoms:

  • Bot returns error even with API key
  • Console shows model not found

Solutions:

  1. Check Gemini API status: https://status.ai.google.dev
  2. Verify API key has access to gemini-3-flash and gemini-2.5-flash
  3. Check rate limits haven't been exceeded
  4. Review fallback logic in src/components/AutoBot/index.tsx

Post-Deployment Validation

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

Rollback Plan

If deployment fails:

  1. Immediate: Revert PR merge
  2. Investigation: Check GitHub Actions logs
  3. Fix: Address issues found in logs
  4. Re-deploy: Create new PR with fixes

Success Criteria

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%+)

Support

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 setup
  • CHATBOT_TESTING.md - Testing guide
  • GITHUB_ACTIONS_TEST_SETUP.md - CI/CD configuration
  • E2E_TEST_RESULTS.md - Test execution details
  • CONFIGURATION_VERIFICATION.md - Configuration validation

Approval Sign-off

  • 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