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

@github-actions
Copy link

Copyright Validation Results
Total: 2 | Passed: 0 | Failed: 0 | Skipped: 2 | at: 2026-01-29 13:59:59 UTC | commit: d1e4545

⏭️ 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 introduces support for running Java client API regressions on ARM-based infrastructure. The implementation adds infrastructure provisioning, ARM-specific configuration, and cleanup logic for ARM regression testing.

Changes:

  • Added arm_regressions parameter and conditional logic to support ARM and AMD64 architectures
  • Introduced infrastructure provisioning stage that deploys ARM-based EC2 instances and Jenkins agents
  • Updated Docker Compose configuration to support platform-specific settings and converter installation options

Reviewed changes

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

File Description
docker-compose.yaml Made platform and converter installation configurable via environment variables to support ARM architecture
Jenkinsfile Added ARM infrastructure provisioning, ARM-specific Java paths, platform detection, and cleanup logic for ARM regression testing

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

MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs \
docker compose up -d --build
echo "Waiting for MarkLogic server to initialize."
sleep 300
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 sleep duration increased from 60s to 300s (5 minutes) without explanation. This significant change affects all builds, not just ARM regressions. Consider making this configurable based on the platform or adding a comment explaining why ARM infrastructure requires a longer initialization time.

Copilot uses AI. Check for mistakes.

MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs \
docker compose up -d --build
echo "Waiting for MarkLogic server to initialize."
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.

Inconsistent indentation: this line uses tabs while surrounding lines use spaces.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@rjrudin rjrudin left a comment

Choose a reason for hiding this comment

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

In addition to pointing to develop and squashing and rebasing, try to minimize the number of changed lines in Jenkinsfile due to whitespace. Your editor should be using the .editorconfig file in the root of this repository, which will set indents to tabs (for better or worse).

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.

Use "MARKLOGIC_INSTALL_CONVERTERS" as the Docker env var name, as "set" is misleading.

MARKLOGIC_IMAGE=''' + image + ''' MARKLOGIC_LOGS_VOLUME=marklogicLogs \
docker compose up -d --build
echo "Waiting for MarkLogic server to initialize."
sleep 300
Copy link
Contributor

Choose a reason for hiding this comment

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

This line won't be needed when merging to develop - we use a new ml-gradle task that will wait for MarkLogic to be ready.

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