MLE-24733 Trying out new test deployer#1017
Conversation
|
Copyright Validation Results ⏭️ Skipped (Excluded) Files
✅ Valid Files
✅ All files have valid copyright headers! |
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a new test deployer approach by restructuring test setup and deployment processes in the Jenkins pipeline. The changes replace Node.js-based setup scripts with Gradle-based deployment commands and add reliability improvements.
Key Changes:
- Added a retry mechanism with a sleep delay for the
mlWaitTillReadycommand to improve test reliability - Replaced Node.js setup scripts with Gradle deployment tasks in the E2E test workflow
- Reorganized deployment steps to use a new
test-complete-app-mlDeploydirectory
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ./gradlew -i mlWaitTillReady | ||
| sleep 3 | ||
| ./gradlew -i mlWaitTillReady |
There was a problem hiding this comment.
The hardcoded sleep duration of 3 seconds is a magic number without explanation. Consider adding a comment explaining why this delay is needed, or better yet, replace the fixed sleep with a configurable retry mechanism with exponential backoff to handle varying server startup times more reliably.
| ./gradlew -i mlWaitTillReady | |
| sleep 3 | |
| ./gradlew -i mlWaitTillReady | |
| # Retry mlWaitTillReady with exponential backoff up to 5 times | |
| max_attempts=5 | |
| attempt=1 | |
| delay=2 | |
| until ./gradlew -i mlWaitTillReady; do | |
| if [ $attempt -ge $max_attempts ]; then | |
| echo "mlWaitTillReady failed after $max_attempts attempts." | |
| exit 1 | |
| fi | |
| echo "mlWaitTillReady not ready, retrying in $delay seconds (attempt $attempt/$max_attempts)..." | |
| sleep $delay | |
| attempt=$((attempt+1)) | |
| delay=$((delay*2)) | |
| done |
| cd test-complete-app-mlDeploy | ||
| ./gradlew -i mlDeploy | ||
| cd test-complete-app | ||
| ./gradlew -i mlDeploy |
There was a problem hiding this comment.
The -g $PWD flag was removed from the gradlew command. If this flag was previously used to set a custom Gradle user home directory for isolation purposes in CI/CD, removing it may cause unintended side effects such as cache collisions or permission issues. Verify that removing this flag is intentional and does not impact build isolation.
c7aae15 to
977f9c6
Compare
Fixing a couple tests to not write schemas to a modules database.
977f9c6 to
02a20a3
Compare
No description provided.