Skip to content

Conversation

@dymurray
Copy link
Contributor

@dymurray dymurray commented Oct 23, 2025

Summary by CodeRabbit

  • Chores

    • Updated CI/CD workflows to enhance end-to-end testing coverage for API and UI integration tests across multiple release branches.
  • Tests

    • Improved test infrastructure to support Java provider image configuration in automated testing pipelines.

@coderabbitai
Copy link

coderabbitai bot commented Oct 23, 2025

Walkthrough

This pull request adds a new java-provider-image input parameter to the install-tackle action invocations in CI workflow jobs. The parameter is applied consistently across e2e-api-integration-tests and e2e-ui-integration-tests jobs in the release-0.7, release-0.8, and main workflow branches.

Changes

Cohort / File(s) Change Summary
Workflow Configuration
.github/workflows/global-ci.yml
Adds java-provider-image input parameter to install-tackle action steps across e2e-api-integration-tests and e2e-ui-integration-tests jobs for release-0.7, release-0.8, and main branches

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested reviewers

  • mguetta1

Poem

🐰 A Java provider hops into the fray,
New image passed through workflows each day,
The tackle installer now knows the way,
To build with Java pride, hooray, hooray! 🎉

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "Add java-provider-image to CI workflow" directly and accurately describes the main change in the pull request. The title is concise, uses clear language without vague terms or noise, and would allow a teammate scanning the repository history to understand that a java-provider-image parameter has been added to the CI workflow. The title fully captures the core modification of adding the java-provider-image input to multiple workflow jobs across different branches for both e2e-api-integration-tests and e2e-ui-integration-tests.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dymurray-patch-4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/global-ci.yml (1)

242-274: Missing java-provider-image parameter in e2e-api-integration-tests job.

The PR adds java-provider-image to the three install-tackle steps in the e2e-ui-integration-tests job (lines 394, 406, 418), but the parallel install-tackle steps in e2e-api-integration-tests (lines 242-274) do not include this parameter. This creates an inconsistency where API tests lack the Java provider image configuration while UI tests have it.

For a complete and consistent bug fix, the java-provider-image parameter should be added to all six install-tackle invocations across both jobs.

Apply this diff to add java-provider-image to the e2e-api-integration-tests job (release-0.7 step):

      - name: install konveyor
        uses: konveyor/tackle2-operator/.github/actions/[email protected]
        if: "${{ startsWith(inputs.operator_tag, 'v0.7') }}"
        with:
          operator-bundle-image: "quay.io/konveyor/tackle2-operator-bundle:${{ inputs.operator_tag }}"
          hub-image: "quay.io/konveyor/tackle2-hub:${{ inputs.tag }}"
          ui-image: "quay.io/konveyor/tackle2-ui:${{ inputs.tag }}"
          addon-analyzer-image: "quay.io/konveyor/tackle2-addon-analyzer:${{ inputs.tag }}"
+         java-provider-image: "quay.io/konveyor/java-external-provider:${{ inputs.tag }}"
          image-pull-policy: IfNotPresent
          analyzer-container-memory: 0
          analyzer-container-cpu: 0

Apply the same diff pattern to the release-0.8 and main install-tackle steps in e2e-api-integration-tests (lines 254 and 265).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 09da7c7 and a6bde8e.

📒 Files selected for processing (1)
  • .github/workflows/global-ci.yml (3 hunks)

hub-image: "quay.io/konveyor/tackle2-hub:${{ inputs.tag }}"
ui-image: "quay.io/konveyor/tackle2-ui:${{ inputs.tag }}"
addon-analyzer-image: "quay.io/konveyor/tackle2-addon-analyzer:${{ inputs.tag }}"
java-provider-image: "quay.io/konveyor/java-external-provider:${{ inputs.tag }}"
Copy link

@coderabbitai coderabbitai bot Oct 23, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify consistency and action compatibility.

The java-provider-image parameter additions to the UI integration tests look syntactically correct, but ensure that:

  1. The install-tackle action across all three versions (release-0.7, release-0.8, main) officially supports this parameter
  2. The parameter should also be added to the corresponding steps in e2e-api-integration-tests (noted in the previous comment)

Also applies to: 406-406, 418-418


🏁 Script executed:

#!/bin/bash
# Description: Verify that the install-tackle action accepts java-provider-image parameter
# across all referenced versions.

# Check if the action's definition includes java-provider-image input in each branch
for branch in release-0.7 release-0.8 main; do
  echo "=== Checking branch: $branch ==="
  curl -s "https://raw.githubusercontent.com/konveyor/tackle2-operator/$branch/.github/actions/install-tackle/action.yml" \
    | grep -A5 "java-provider-image" || echo "Parameter not found in $branch"
done

Length of output: 201



🏁 Script executed:

#!/bin/bash
# Check if e2e-api-integration-tests workflow references install-tackle action
# and identify any locations where java-provider-image should be added

fd -e yml -e yaml | xargs grep -l "e2e-api-integration" 2>/dev/null | head -5

# Also search for other references to install-tackle action
rg "install-tackle" -n --type yaml

Length of output: 0



🏁 Script executed:

#!/bin/bash
# Find global-ci.yml and related workflow files
echo "=== Searching for global-ci.yml ==="
find . -name "global-ci.yml" -o -name "*e2e*" -name "*.yml" 2>/dev/null | head -20

echo ""
echo "=== All workflow files in .github/workflows ==="
ls -la .github/workflows/ 2>/dev/null | grep -E "\.ya?ml$" || echo "Directory not found or no files"

echo ""
echo "=== Content of global-ci.yml around line 394 ==="
sed -n '390,400p' .github/workflows/global-ci.yml 2>/dev/null || echo "File not found"

Length of output: 1376



🏁 Script executed:

#!/bin/bash
# Get context around lines 394, 406, 418 to see all three parameter additions
echo "=== Lines 390-425 of global-ci.yml ==="
sed -n '390,425p' .github/workflows/global-ci.yml

echo ""
echo "=== Search for e2e-api-integration in workflows ==="
grep -r "e2e-api-integration" .github/workflows/ 2>/dev/null || echo "No matches found"

echo ""
echo "=== Search for install-tackle usage across all workflows ==="
grep -n "install-tackle" .github/workflows/*.yml 2>/dev/null

Length of output: 3052



🏁 Script executed:

#!/bin/bash
# Check the first install-tackle usage (lines 243, 254, 265)
echo "=== Lines 230-280 (first install-tackle usage) ==="
sed -n '230,280p' .github/workflows/global-ci.yml

echo ""
echo "=== Find e2e-api-integration-tests job ==="
grep -n "e2e-api-integration-tests:" .github/workflows/global-ci.yml

echo ""
echo "=== Extract e2e-api-integration-tests job section ==="
sed -n '470,550p' .github/workflows/global-ci.yml

Length of output: 2821



🏁 Script executed:

#!/bin/bash
# Check e2e-api-integration-tests job structure
echo "=== Lines 170-240 (e2e-api-integration-tests job) ==="
sed -n '170,240p' .github/workflows/global-ci.yml

echo ""
echo "=== Check if e2e-api-integration-tests uses install-tackle ==="
awk '/e2e-api-integration-tests:/,/^  [a-z-]+:/' .github/workflows/global-ci.yml | grep -c "install-tackle"

Length of output: 2650


Remove the unsupported java-provider-image parameter from the install-tackle action calls.

The java-provider-image parameter is not defined in the install-tackle action across any of the referenced versions (release-0.7, release-0.8, main). Passing undefined input parameters causes workflow failures.

Remove java-provider-image from lines 394, 406, and 418 in .github/workflows/global-ci.yml, or alternatively, wait for the upstream konveyor/tackle2-operator repository to add support for this parameter in the action definition before including it here.

Regarding e2e-api-integration-tests: The job structure (line 170) uses only start-minikube actions, not install-tackle, so the parameter is not applicable there.

🤖 Prompt for AI Agents
In .github/workflows/global-ci.yml around lines 394, 406, and 418, the
install-tackle action is being passed an unsupported input parameter
`java-provider-image`; remove the `java-provider-image:
"quay.io/konveyor/java-external-provider:${{ inputs.tag }}"` entries on those
lines so the action call only uses supported inputs (or wait for the upstream
action to add this input before reintroducing it).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Please check again, we just merged in this change to the operator repo

Copy link

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that the install-tackle action now accepts java-provider-image parameter
# across all referenced versions after the recent merge

for branch in release-0.7 release-0.8 main; do
  echo "=== Checking branch: $branch ==="
  curl -s "https://raw.githubusercontent.com/konveyor/tackle2-operator/$branch/.github/actions/install-tackle/action.yml" \
    | grep -A10 "java-provider-image:" || echo "❌ Parameter not found in $branch"
  echo ""
done

Length of output: 887


@dymurray, thanks for the update! I've verified the action definitions across all branches. The java-provider-image parameter is now supported in release-0.8 and main, but not yet in release-0.7.

Current status:

  • release-0.8: Parameter supported (line 406)
  • main: Parameter supported (line 418)
  • release-0.7: Parameter not found (line 394)

Recommendation:
Remove the java-provider-image parameter from the release-0.7 install-tackle step (line 394) to avoid workflow failures when operator_tag starts with v0.7. The other two additions (lines 406 and 418) are good to go! 🎉

Alternatively, if you plan to backport the parameter support to release-0.7 soon, you could wait for that merge before including it here.

Copy link
Member

@sjd78 sjd78 left a comment

Choose a reason for hiding this comment

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

vizack

@dymurray dymurray merged commit e1076d6 into main Oct 23, 2025
11 checks passed
Copy link
Member

@aufi aufi left a comment

Choose a reason for hiding this comment

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

👍

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