Skip to content

Conversation

@nagalakshmi2024
Copy link

The changes made to the jenkinsfile to support
provision arm based infrastructure and execute regressions on arm ec2 instance when arm_regressions parameter is enabled

Jenkins console log for arm regressions
https://ml-clt-jenkins.progress.com/job/devexp/job/Java-Client/job/java-client-api-regression/job/arm-regressions-testbranch/108/console

Copilot AI review requested due to automatic review settings January 29, 2026 14:53
@nagalakshmi2024 nagalakshmi2024 changed the title Added support to execute regressions on arm infrastructure PDP-817: Added support to execute regressions on arm infrastructure Jan 29, 2026
@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Copyright Validation Results
Total: 2 | Passed: 0 | Failed: 0 | Skipped: 2 | at: 2026-01-29 14:54:04 UTC | commit: e6c0b35

⏭️ Skipped (Excluded) Files

  • Jenkinsfile
  • docker-compose.yaml

✅ All files have valid copyright headers!

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for running regression tests on ARM-based infrastructure. When the arm_regressions parameter is enabled, the pipeline provisions ARM EC2 instances, configures them with necessary dependencies, and executes tests against ARM-compatible MarkLogic images.

Changes:

  • Added ARM platform support with conditional logic based on arm_regressions parameter
  • Introduced new pipeline stages for provisioning ARM infrastructure and running tests
  • Updated Docker Compose configuration to support both ARM and AMD64 platforms

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
docker-compose.yaml Made platform and converter settings configurable via environment variables to support ARM
Jenkinsfile Added ARM regression parameter, infrastructure provisioning stage, ARM-specific test execution, and cleanup logic

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +32 to +33
export PLATFORM=$PLATFORM
export SET_CONVERTERS=$SET_CONVERTERS
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The environment variable names are identical to the variable names being assigned ($PLATFORM and $SET_CONVERTERS). This creates ambiguity about which values are being used and makes the code harder to follow. Consider renaming the shell variables to avoid shadowing, e.g., export PLATFORM=$PLATFORM_VALUE or use more descriptive names that clarify the source.

Suggested change
export PLATFORM=$PLATFORM
export SET_CONVERTERS=$SET_CONVERTERS

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing here - avoid using "SET_CONVERTERS", use "MARKLOGIC_INSTALL_CONVERTERS".

Comment on lines +42 to +43
echo "Waiting for MarkLogic server to initialize."
sleep 60
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 60-second sleep is a magic number without explanation of why this duration was chosen. Consider adding a comment explaining the initialization time requirement or defining this as a named constant for better maintainability.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this sleep command, it's no longer needed (remove the echo command too).

Comment on lines +213 to 215
expression {
return !params.regressions && !params.arm_regressions
}
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The multi-line expression formatting is inconsistent with other single-line expressions in the file (e.g., lines 253-254, 274-275). For consistency, consider formatting this as a single line: expression { return !params.regressions && !params.arm_regressions }.

Suggested change
expression {
return !params.regressions && !params.arm_regressions
}
expression { return !params.regressions && !params.arm_regressions }

Copilot uses AI. Check for mistakes.
platform: "${PLATFORM:-linux/amd64}"
environment:
- INSTALL_CONVERTERS=true
- INSTALL_CONVERTERS=${SET_CONVERTERS:-true}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rename SET_CONVERTERS to MARKLOGIC_INSTALL_CONVERTERS - I don't like to introduce a new verb for something that already exists as otherwise, in the future, someone's going to wonder "What's the difference between 'installing converters' and 'setting conveters'?"

Comment on lines +32 to +33
export PLATFORM=$PLATFORM
export SET_CONVERTERS=$SET_CONVERTERS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing here - avoid using "SET_CONVERTERS", use "MARKLOGIC_INSTALL_CONVERTERS".

Comment on lines +42 to +43
echo "Waiting for MarkLogic server to initialize."
sleep 60
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this sleep command, it's no longer needed (remove the echo command too).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants