Skip to content

feat: adding testing workflow to orchestrator tests#3738

Merged
openshift-merge-bot[bot] merged 11 commits intoredhat-developer:mainfrom
y-first:add-testing-workflow
Jan 29, 2026
Merged

feat: adding testing workflow to orchestrator tests#3738
openshift-merge-bot[bot] merged 11 commits intoredhat-developer:mainfrom
y-first:add-testing-workflow

Conversation

@y-first
Copy link
Copy Markdown
Member

@y-first y-first commented Nov 24, 2025

Description

Summary

This PR adds comprehensive E2E testing for the orchestrator plugin using the failswitch workflow and updates the deployment utilities to support it.

Key Changes

  • New E2E test suite (failswitch-workflow.spec.ts): Added comprehensive Playwright tests for the orchestrator plugin covering:
    • Basic workflow execution with different input states (OK, KO, Wait)
    • Workflow abort functionality
    • Workflow tab validation and run details
    • Re-running workflows from failure points (currently skipped)
  • Enhanced Orchestrator page object (orchestrator.ts): Added new methods to support failswitch workflow testing:
    • selectFailSwitchWorkflowItem() - Navigate to failswitch workflow
    • runFailSwitchWorkflow() - Execute workflow with configurable switch input
    • reRunFailSwitchWorkflow() - Re-run workflow with new parameters
    • reRunOnFailure() - Re-run from failure point or entire workflow
    • validateWorkflowStatus() - Verify workflow execution status
  • Deployment script updates (.ibm/pipelines/utils.sh):
    • Migrated from experimental user-onboarding workflow to failswitch workflow
    • Updated workflow repository from rhdh-orchestrator-test to rhdhorchestrator
    • Changed manifest paths to point to failswitch workflow resources
    • Added explicit namespace parameter to oc apply command
    • Removed user-onboarding specific secret configuration logic
    • Updated deployment wait conditions for failswitch workflow
    • Adds some updated configurations for deploying with OSL 1.37

Test Coverage

The new test suite validates:

  • ✅ Successful workflow execution (OK state)
  • ✅ Failed workflow execution (KO state)
  • ✅ Running workflow state (Wait state)
  • ✅ Workflow abort functionality
  • ✅ Workflow re-run capabilities

Which issue(s) does this PR fix

  • Fixes #?

PR acceptance criteria

Please make sure that the following steps are complete:

  • GitHub Actions are completed and successful
  • Unit Tests are updated and passing
  • E2E Tests are updated and passing
  • Documentation is updated if necessary (requirement for new features)
  • Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

@github-actions
Copy link
Copy Markdown
Contributor

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 25, 2025

/ok-to-test

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 25, 2025

/test e2e-ocp-helm

@rhdh-qodo-merge
Copy link
Copy Markdown

You are above your monthly Qodo Merge usage quota. For more information, please visit here.

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 25, 2025

/test e2e-ocp-helm

@rhdh-qodo-merge
Copy link
Copy Markdown

You are above your monthly Qodo Merge usage quota. For more information, please visit here.

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 25, 2025

/test e2e-ocp-helm

@rhdh-qodo-merge
Copy link
Copy Markdown

You are above your monthly Qodo Merge usage quota. For more information, please visit here.

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 25, 2025

/test e2e-ocp-helm

@rhdh-qodo-merge
Copy link
Copy Markdown

You are above your monthly Qodo Merge usage quota. For more information, please visit here.

@github-actions
Copy link
Copy Markdown
Contributor

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Nov 26, 2025

/test e2e-ocp-helm

gustavolira and others added 6 commits January 29, 2026 10:50
The condition `isPrOcpHelmJob` was incorrectly matching the nightly job
`pull-ci-...-e2e-ocp-helm-nightly`, causing orchestrator tests to be skipped.

Added check for `e2e-ocp-helm-nightly` specifically to ensure orchestrator
tests run only in that nightly job.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Orchestrator infrastructure is not installed on OSD-GCP, so tests
should be skipped there as well. Added isOsdGcpJob check alongside
the existing isPrOcpHelmJob condition.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move orchestrator-related functions to a dedicated module following the
new modular architecture introduced in PR redhat-developer#3817. This includes:

- orchestrator::should_skip - determines if orchestrator should be skipped
- orchestrator::disable_plugins_in_values - disables orchestrator plugins
- orchestrator::install_infra_chart - deploys orchestrator-infra Helm chart
- orchestrator::deploy_workflows - deploys workflows for Helm testing
- orchestrator::deploy_workflows_operator - deploys workflows for Operator testing
- orchestrator::enable_plugins_operator - enables plugins for operator deployment

Existing function names are preserved as delegation functions for
backwards compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extract common code into private helper functions:
- _orchestrator::clone_workflows - clone the workflow repo
- _orchestrator::apply_manifests - apply workflow manifests
- _orchestrator::wait_for_sonataflow_resources - wait for sf resources
- _orchestrator::patch_workflow_postgres - patch workflow with pg config
- _orchestrator::wait_for_workflow_deployments - wait for deployments

Also:
- Add constants for workflow repo URL and workflow names
- Standardize logging across functions
- Improve code readability and maintainability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

ShellCheck fixes:
- Remove unused $@ from functions that take no arguments (SC2120)

SonarQube fixes:
- Add explicit return statements at end of all functions
- Use [[ instead of [ for conditional tests in orchestrator.sh
- Refactor orchestrator::should_skip for clarity

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🚫 Image Push Skipped.

The container image push was skipped because the build was skipped (either due to [skip-build] tag or no relevant changes with existing image)

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Jan 29, 2026

/test e2e-ocp-helm-nightly

@qodo-code-review
Copy link
Copy Markdown

ⓘ Your monthly quota for Qodo has expired. Upgrade your plan
ⓘ Paying users. Check that your Qodo account is linked with this Git user account

1 similar comment
@rhdh-qodo-merge
Copy link
Copy Markdown

ⓘ Your monthly quota for Qodo has expired. Upgrade your plan
ⓘ Paying users. Check that your Qodo account is linked with this Git user account

Comment thread .ibm/pipelines/lib/orchestrator.sh
@github-actions
Copy link
Copy Markdown
Contributor

🚫 Image Push Skipped.

The container image push was skipped because the build was skipped (either due to [skip-build] tag or no relevant changes with existing image)

Add conditional check before declaring readonly constants to prevent
errors when the script is sourced multiple times.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🚫 Image Push Skipped.

The container image push was skipped because the build was skipped (either due to [skip-build] tag or no relevant changes with existing image)

@gustavolira
Copy link
Copy Markdown
Member

/test e2e-ocp-helm-nightly

Add _orchestrator::wait_for_sonataflow_reconciliation() to wait for the
SonataFlow operator to reconcile after CR patch before checking rollout
status. This fixes a race condition where oc rollout status was called
before the operator had updated the Deployment.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🚫 Image Push Skipped.

The container image push was skipped because the build was skipped (either due to [skip-build] tag or no relevant changes with existing image)

@gustavolira
Copy link
Copy Markdown
Member

/test e2e-ocp-helm-nightly

@sonarqubecloud
Copy link
Copy Markdown

@gustavolira
Copy link
Copy Markdown
Member

/lgtm

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Jan 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gustavolira

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Feb 12, 2026

/cherry-pick release-1.9

@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@y-first: only redhat-developer org members may request cherry picks. If you are already part of the org, make sure to change your membership to public. Otherwise you can still do the cherry-pick manually.

Details

In response to this:

/cherry-pick release-1.9

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@y-first
Copy link
Copy Markdown
Member Author

y-first commented Feb 12, 2026

/cherry-pick release-1.9

@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@y-first: #3738 failed to apply on top of branch "release-1.9":

Applying: feat: adding testing workflow to orchestrator tests
.git/rebase-apply/patch:273: trailing whitespace.
    await this.page.getByRole("button", { name: "Abort" }).click();    
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	.ibm/pipelines/utils.sh
Falling back to patching base and 3-way merge...
Auto-merging .ibm/pipelines/utils.sh
CONFLICT (content): Merge conflict in .ibm/pipelines/utils.sh
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 feat: adding testing workflow to orchestrator tests

Details

In response to this:

/cherry-pick release-1.9

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants