Skip to content

Conversation

@NirWolfer
Copy link
Collaborator

Description

Please provide a summary of the change.

What

Subject: what this PR is doing in one line.

Why ?

Justification for the PR. If there is existing issue/bug please reference.

How ?

It is optional but for complex PRs please provide information about the design,
architecture, approach, etc.

Change type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

Check list

  • Code follows the style de facto guidelines of this project
  • Comments have been inserted in hard to understand places
  • Documentation has been updated (if necessary)
  • Test has been added (if possible)

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR updates the release pipeline to use an internal DPCP repository pre-cloned by the init script instead of cloning from the public GitHub repository during each build.

Key Changes:

  • Replaced git clone https://github.com/Mellanox/libdpcp.git libdpcp with cd "${WORKSPACE}/jenkins/default/_dpcp-last" in the Build-dpcp step
  • Aligns with commit 74ad3ae which introduced .ci/cidemo-init.sh to prepare the internal dpcp repo in advance
  • Eliminates redundant git clone operations and ensures the latest internal dpcp version is used

Verification Needed:

  • Ensure the ci-demo pipeline framework executes cidemo-init.sh before the release job runs
  • Confirm the workspace path ${WORKSPACE}/jenkins/default/_dpcp-last is properly populated and accessible to the rhel8.6 container

Confidence Score: 4/5

  • This PR is safe to merge but requires runtime verification that the init script executes successfully
  • The change is straightforward and logically sound - it completes the transition started in commit 74ad3ae to use an internal dpcp repository. The implementation correctly references the workspace path established by the init script. However, the score is 4 rather than 5 because the PR depends on external pipeline infrastructure (ci-demo library) to execute the init script, which cannot be verified from the code alone
  • No files require special attention - the single modified file is well-structured and the change is minimal

Important Files Changed

File Analysis

Filename Score Overview
.ci/pipeline/release_matrix_job.yaml 4/5 Changed Build-dpcp step to use pre-cloned internal dpcp repo from ${WORKSPACE}/jenkins/default/_dpcp-last instead of cloning public GitHub repo, eliminating git clone operation

Sequence Diagram

sequenceDiagram
    participant Jenkins as Jenkins Pipeline
    participant Init as cidemo-init.sh
    participant Workspace as Workspace Storage
    participant Docker as rhel8.6 Container
    participant DPCP as DPCP Repository
    participant Release as Release Process

    Note over Jenkins,Init: Pipeline Initialization
    Jenkins->>Init: Execute init script
    Init->>DPCP: git clone internal dpcp repo
    DPCP-->>Init: Clone complete
    Init->>Workspace: Store at ${WORKSPACE}/jenkins/default/_dpcp-last
    
    Note over Docker,Release: Build-dpcp Step (PR Changes)
    Jenkins->>Docker: Start Build-dpcp step
    Docker->>Workspace: cd ${WORKSPACE}/jenkins/default/_dpcp-last
    Docker->>Docker: ./autogen.sh && ./configure --prefix=/usr
    Docker->>Docker: sudo make install
    Docker-->>Jenkins: DPCP installed to /usr
    
    Note over Docker,Release: Release Step
    Jenkins->>Docker: Start Release step
    Docker->>Docker: Execute .ci/do_release.sh
    Docker->>Docker: Build packages using installed DPCP
    Docker-->>Jenkins: Archive artifacts
Loading

@NirWolfer NirWolfer force-pushed the release_pipeline_internal_dpcp branch from 362592d to 8723f5d Compare January 12, 2026 09:06
@greptile-apps
Copy link

greptile-apps bot commented Jan 12, 2026

Greptile Summary

This PR updates the release pipeline to use internal dpcp from the cidemo-init.sh script instead of cloning the public libdpcp repository during the Build-dpcp step.

Key changes:

  • Build-dpcp step now uses pre-cloned dpcp source from ${WORKSPACE}/jenkins/default/_dpcp-last instead of cloning from GitHub
  • Added volume mount for /var/home/swx-jenkins to support SSH key authentication for internal dpcp repository access
  • Updated Docker image tag from 20251214 to 20260112 for the rhel8.6 release container
  • Added net-tools package to Dockerfile.rhel8.6

Important notes:

  • This change assumes the CI framework automatically invokes cidemo-init.sh before running pipeline steps
  • The init script clones from the internal dpcp repository using SSH authentication
  • Previous commit 74ad3ae introduced this approach for test pipelines; this PR extends it to the release pipeline

Confidence Score: 3/5

  • This PR has moderate risk due to implicit dependency on CI framework behavior and lack of error handling
  • The changes are straightforward but rely on the CI framework automatically executing cidemo-init.sh before pipeline steps. There's no explicit verification in the pipeline configuration that the dpcp directory exists or that the init script ran successfully. The lack of error handling means failures will be cryptic. However, this pattern was already introduced in commit 74ad3ae for test pipelines, suggesting the CI framework does support this.
  • .ci/pipeline/release_matrix_job.yaml should have validation to verify dpcp source exists before attempting build

Important Files Changed

Filename Overview
.ci/dockerfiles/Dockerfile.rhel8.6 Added net-tools package to the release target dependencies
.ci/pipeline/release_matrix_job.yaml Updated Build-dpcp step to use dpcp source from cidemo-init.sh script; added swx-jenkins home volume mount; updated Docker image tag to 20260112

Sequence Diagram

sequenceDiagram
    participant CI as CI Framework
    participant Init as cidemo-init.sh
    participant Docker as Docker Container (rhel8.6)
    participant DPCP as DPCP Source
    participant Build as Build-dpcp Step

    Note over CI,Init: Pipeline Start
    CI->>Init: Execute cidemo-init.sh
    Init->>Init: Create ${WORKSPACE}/jenkins/default/_dpcp-last
    Init->>DPCP: git clone git@github.com:Mellanox/dpcp.git
    Note over Init,DPCP: Uses SSH authentication<br/>Requires access to internal repo
    DPCP-->>Init: Clone internal dpcp repository
    Init->>Init: Find latest tag via git describe
    Init->>Init: Checkout latest tag
    Init-->>CI: dpcp source ready in workspace
    
    Note over CI,Build: Build-dpcp Step
    CI->>Docker: Start rhel8.6 container (tag: 20260112)
    Docker->>Build: Execute build step
    Build->>Build: cd ${WORKSPACE}/jenkins/default/_dpcp-last
    Build->>Build: ./autogen.sh && ./configure --prefix=/usr
    Build->>Build: sudo make install
    Build-->>Docker: dpcp installed
    
    Note over Docker: Continue with Release step
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@NirWolfer NirWolfer force-pushed the release_pipeline_internal_dpcp branch from 8723f5d to 4452d42 Compare January 12, 2026 09:21
Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

4 files reviewed, 4 comments

Edit Code Review Agent Settings | Greptile

@NirWolfer NirWolfer force-pushed the release_pipeline_internal_dpcp branch from 4452d42 to e948ab7 Compare January 12, 2026 09:36
@NirWolfer NirWolfer requested a review from dpressle January 12, 2026 09:42
Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

3 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

@NirWolfer
Copy link
Collaborator Author

bot:retest

1 similar comment
@NirWolfer
Copy link
Collaborator Author

bot:retest

@NirWolfer
Copy link
Collaborator Author

dpressle
dpressle previously approved these changes Jan 15, 2026
Signed-off-by: NirWolfer <nwolfer@nvidia.com>
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.

2 participants