test-workflow.sh 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #!/bin/bash
  2. echo "🧪 Testing kNotes Workflow Setup..."
  3. echo ""
  4. # Check if we're in the right directory
  5. if [ ! -f ".github/workflows/buildAndRelease.yml" ]; then
  6. echo "❌ Error: Not in the correct repository root"
  7. exit 1
  8. fi
  9. echo "📋 Checking workflow files..."
  10. echo "✅ Main workflow: .github/workflows/buildAndRelease.yml"
  11. echo "✅ Test workflow: .github/workflows/test-workflow.yml"
  12. echo ""
  13. echo "📦 Checking desktop app configuration..."
  14. if [ -f "desktop-app/package.json" ]; then
  15. VERSION=$(node -p "require('./desktop-app/package.json').version" 2>/dev/null)
  16. if [ $? -eq 0 ]; then
  17. echo "✅ Desktop app version: $VERSION"
  18. else
  19. echo "❌ Could not read desktop app version"
  20. fi
  21. else
  22. echo "❌ desktop-app/package.json not found"
  23. fi
  24. echo ""
  25. echo "🏗️ Checking build files..."
  26. if [ -f "build.gradle" ]; then
  27. echo "✅ Gradle build file found"
  28. else
  29. echo "❌ build.gradle not found"
  30. fi
  31. if [ -f "Dockerfile" ]; then
  32. echo "✅ Dockerfile found"
  33. else
  34. echo "❌ Dockerfile not found"
  35. fi
  36. echo ""
  37. echo "📁 Checking frontend files..."
  38. if [ -d "src/main/resources/static" ]; then
  39. echo "✅ Frontend directory found"
  40. FILE_COUNT=$(find src/main/resources/static -type f | wc -l)
  41. echo "✅ Frontend files: $FILE_COUNT files"
  42. else
  43. echo "❌ Frontend directory not found"
  44. fi
  45. echo ""
  46. echo "🔧 Checking Node.js/npm (for desktop builds)..."
  47. if command -v node &> /dev/null; then
  48. NODE_VERSION=$(node --version)
  49. echo "✅ Node.js: $NODE_VERSION"
  50. else
  51. echo "⚠️ Node.js not found (needed for desktop builds)"
  52. fi
  53. if command -v npm &> /dev/null; then
  54. NPM_VERSION=$(npm --version)
  55. echo "✅ npm: $NPM_VERSION"
  56. else
  57. echo "⚠️ npm not found (needed for desktop builds)"
  58. fi
  59. echo ""
  60. echo "🐳 Checking Docker (optional)..."
  61. if command -v docker &> /dev/null; then
  62. DOCKER_VERSION=$(docker --version)
  63. echo "✅ Docker: $DOCKER_VERSION"
  64. else
  65. echo "ℹ️ Docker not found (GitHub Actions will handle this)"
  66. fi
  67. echo ""
  68. echo "📋 Workflow Test Summary:"
  69. echo "✅ Repository structure is correct"
  70. echo "✅ All required configuration files present"
  71. echo "✅ Workflow files are properly configured"
  72. echo ""
  73. echo "🚀 How to test:"
  74. echo ""
  75. echo "1. 🧪 SAFE TEST (Dry run, no deployment):"
  76. echo " - Push this code to GitHub"
  77. echo " - Go to: GitHub → Actions → 'Test Workflow (Dry Run)'"
  78. echo " - Click 'Run workflow' → Choose test level → Run"
  79. echo ""
  80. echo "2. 🧪 MANUAL TRIGGER (Real workflow, will deploy):"
  81. echo " - Go to: GitHub → Actions → 'Release'"
  82. echo " - Click 'Run workflow' → Run"
  83. echo ""
  84. echo "3. 🚀 FULL TEST (Real deployment):"
  85. echo " - Make any small change and push to main branch"
  86. echo " - Watch the workflow run automatically"
  87. echo ""
  88. echo "⚠️ IMPORTANT:"
  89. echo " - Test workflow (option 1) is SAFE - no deployments"
  90. echo " - Manual trigger (option 2) WILL deploy Docker + create releases"
  91. echo " - Full test (option 3) WILL deploy everything"
  92. echo ""
  93. echo "✨ Workflow test complete!"