Skip to content

Conversation

@gangwgr
Copy link
Contributor

@gangwgr gangwgr commented Dec 4, 2025

As per discussion https://redhat-internal.slack.com/archives/CC3CZCQHM/p1762421042028719
CNTRLPLANE-2167:Integrate OpenShift Test Extension (OTE) into oc

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Dec 4, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Dec 4, 2025

@gangwgr: This pull request references CNTRLPLANE-2167 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.21.0" version, but no target version was set.

Details

In response to this:

As per discussion https://redhat-internal.slack.com/archives/CC3CZCQHM/p1762421042028719
CNTRLPLANE-2167:Integrate OpenShift Test Extension (OTE) into oc

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link

coderabbitai bot commented Dec 4, 2025

Walkthrough

This pull request introduces a new CLI binary named oc-tests-ext with a Cobra-based command structure. The changes include a new build target in the Makefile, a main.go entry point, updated .gitignore, and new dependencies for the OpenShift tests extension framework.

Changes

Cohort / File(s) Summary
Build Configuration
.gitignore, Makefile
Added .gitignore entry for /oc-tests-ext binary output. Introduced new oc-tests-ext Makefile target to build binary from ./cmd/oc-tests-ext using go build.
CLI Implementation
cmd/oc-tests-ext/main.go
New Cobra-based CLI entry point initializing a registry via prepareOperatorTestsRegistry, constructing root command with version fallback, and registering default extension commands from otelextension.DefaultExtensionCommands. Includes klog fatal error handling.
Dependencies
go.mod
Added direct dependency on github.com/openshift-eng/openshift-tests-extension and indirect dependencies including cel.dev/expr, antlr4-go/antlr, google.golang.org/genproto packages, and github.com/google/cel-go.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes


📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 34ac8c5 and fefeb1f.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (2)
  • Makefile
  • go.mod
🚧 Files skipped from review as they are similar to previous changes (2)
  • go.mod
  • Makefile

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

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 4, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: gangwgr
Once this PR has been reviewed and has the lgtm label, please assign ingvagabund for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

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: 0

🧹 Nitpick comments (2)
cmd/oc-tests-ext/main.go (1)

23-45: Propagate context.Context into the Cobra command

You construct the root command with a ctx parameter but never use it, so subcommands can’t benefit from cancellation/timeouts. You can wire it through to Cobra with minimal change:

 func newOperatorTestCommand(ctx context.Context) *cobra.Command {
 	registry := prepareOperatorTestsRegistry()

 	cmd := &cobra.Command{
 		Use:   "oc-tests-ext",
 		Short: "A binary used to run oc tests as part of OTE.",
 		Run: func(cmd *cobra.Command, args []string) {
 			if err := cmd.Help(); err != nil {
 				klog.Fatal(err)
 			}
 		},
 	}
+
+	cmd.SetContext(ctx)
 
 	if v := version.Get().String(); len(v) == 0 {
 		cmd.Version = "<unknown>"
 	} else {
 		cmd.Version = v
 	}

This keeps the current behavior while making it easier for extension commands to honor cancellation.

images/cli/Dockerfile.rhel (1)

4-6: Confirm that CI consumers expect a gzipped oc-tests-ext in the image

The builder gzips oc-tests-ext and the final image only contains /usr/bin/oc-tests-ext.gz. That’s fine if downstream CI tooling knows to decompress it before execution; otherwise, callers may be surprised that oc-tests-ext isn’t directly runnable in the image.

If the intent is direct invocation inside the image, consider either:

  • Dropping the gzip step and copying the raw binary, or
  • Adding a build/entrypoint step that uncompresses oc-tests-ext.gz to oc-tests-ext before use.

Please verify this matches how OTE consumers expect to discover and run the binary.

Also applies to: 10-10

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 345800d and e6299a3.

⛔ Files ignored due to path filters (294)
  • go.sum is excluded by !**/*.sum
  • vendor/cel.dev/expr/.bazelversion is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/.gitattributes is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/.gitignore is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/CODE_OF_CONDUCT.md is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/CONTRIBUTING.md is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/GOVERNANCE.md is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/MAINTAINERS.md is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/MODULE.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/WORKSPACE is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/WORKSPACE.bzlmod is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/checked.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/cloudbuild.yaml is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/eval.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/explain.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/regen_go_proto.sh is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh is excluded by !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/syntax.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/cel.dev/expr/value.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/.gitignore is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_config.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_state.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/atn_type.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/char_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/comparators.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/configuration.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/dfa.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/dfa_state.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/error_listener.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/error_strategy.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/errors.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/file_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/input_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/int_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/interval_set.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/jcollect.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/lexer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/lexer_action.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/nostatistics.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/parser.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/prediction_context.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/recognizer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/rule_context.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/semantic_context.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/statistics.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/stats_data.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/token.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/token_source.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/token_stream.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/trace_listener.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/transition.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/tree.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/trees.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/antlr4-go/antlr/v4/utils.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/cel.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/decls.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/env.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/folding.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/inlining.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/io.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/library.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/macro.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/optimizer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/program.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/prompt.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/templates/authoring.tmpl is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/cel/validator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/checker.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/cost.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/decls/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/decls/decls.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/env.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/errors.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/format.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/mapping.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/printer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/scopes.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/checker/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/ast.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/conversion.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/expr.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/factory.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/ast/navigable.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/containers/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/containers/container.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/cost.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/debug/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/debug/debug.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/decls/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/decls/decls.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/env/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/env/env.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/error.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/errors.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/functions/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/functions/functions.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/location.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/operators/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/operators/operators.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/overloads/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/overloads/overloads.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/runes/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/runes/buffer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/source.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/stdlib/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/stdlib/standard.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/any_value.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/bool.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/bytes.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/compare.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/double.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/duration.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/err.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/format.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/int.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/iterator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/json_value.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/list.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/map.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/null.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/object.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/optional.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/overflow.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/checked.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/enum.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/equal.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/file.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/pb.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/pb/type.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/provider.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/ref/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/ref/provider.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/ref/reference.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/string.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/timestamp.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/comparer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/container.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/field_tester.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/indexer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/iterator.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/lister.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/mapper.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/matcher.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/math.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/receiver.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/sizer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/traits.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/traits/zeroer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/uint.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/unknown.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/common/types/util.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/activation.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/attribute_patterns.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/attributes.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/decorators.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/dispatcher.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/evalstate.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/interpretable.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/interpreter.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/optimizations.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/planner.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/prune.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/interpreter/runtimecost.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/BUILD.bazel is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/errors.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/BUILD.bazel is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/CEL.g4 is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/CEL.interp is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/CEL.tokens is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/CELLexer.interp is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/CELLexer.tokens is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_base_listener.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_base_visitor.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_lexer.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_listener.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_parser.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/cel_visitor.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/doc.go is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/gen/generate.sh is excluded by !**/gen/**, !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/helper.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/input.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/macro.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/options.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/parser.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/unescape.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/google/cel-go/parser/unparser.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/.gitignore is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/.golangci.yml is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/README.md is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/camel.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/helper.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/kebab.go is excluded by !vendor/**, !**/vendor/**
  • vendor/github.com/stoewer/go-strcase/snake.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/constraints/constraints.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/slices/cmp.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/slices/slices.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/slices/sort.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/slices/zsortanyfunc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/golang.org/x/exp/slices/zsortordered.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/rpc/LICENSE is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go is excluded by !**/*.pb.go, !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/decode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/doc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/encode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/editionssupport/editions.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/encoding/json/decode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/internal/encoding/json/encode.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/reflect/protodesc/desc.go is excluded by !vendor/**, !**/vendor/**
  • vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go is excluded by !vendor/**, !**/vendor/**
📒 Files selected for processing (6)
  • .gitignore (1 hunks)
  • Makefile (1 hunks)
  • README.md (1 hunks)
  • cmd/oc-tests-ext/main.go (1 hunks)
  • go.mod (5 hunks)
  • images/cli/Dockerfile.rhel (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • README.md
  • cmd/oc-tests-ext/main.go
  • Makefile
  • images/cli/Dockerfile.rhel
  • go.mod
🧬 Code graph analysis (1)
cmd/oc-tests-ext/main.go (1)
pkg/cli/version/version.go (1)
  • Version (28-32)
🔇 Additional comments (4)
.gitignore (1)

2-2: Ignore rule for oc-tests-ext binary looks correct

Adding /oc-tests-ext keeps the built test extension binary out of version control and is consistent with other ignored build artifacts here.

Makefile (1)

74-77: oc-tests-ext target wiring is consistent with existing build pattern

The new oc-tests-ext target mirrors the existing oc target pattern (target-specific GO_BUILD_PACKAGES and flags, then delegating to build), which should integrate cleanly into the current build machinery.

go.mod (1)

41-41: New OTE-related dependencies look reasonable; verify tidy/vendor and version compatibility

The added direct dependency on github.com/openshift-eng/openshift-tests-extension and its CEL/genproto/ANTLR/strcase indirects are consistent with wiring in an expression‑driven test extension. From the module file alone there’s no obvious issue, but please double‑check that:

  • go mod tidy and the vendored tree (if applicable) are updated in this PR.
  • The chosen versions of these libs are compatible with the Go toolchain and other existing dependencies in this repo.

If CI is already green on dependency resolution, this should be fine.

Also applies to: 72-73, 78-78, 139-139, 191-191, 205-206

README.md (1)

64-94: Tests section clearly documents oc-tests-ext usage

The new Tests section gives concise, practical examples for building, running, and listing tests with oc-tests-ext, and notes image inclusion for CI/CD. This should make the new extension much easier to adopt.

Copy link
Member

@ardaguclu ardaguclu left a comment

Choose a reason for hiding this comment

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

Even for reviewing this PR requires dedicated time and plan which I don't have. So we need to defer this until we plan this change in oc accordingly. Because I don't know the motivations and reasoning behind this change yet.
So I have to add hold for this, until there is someone willing to review this in-detail
/hold

COPY . .
RUN make build --warn-undefined-variables
RUN make build --warn-undefined-variables \
&& make oc-tests-ext \
Copy link
Member

Choose a reason for hiding this comment

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

Many people, CI systems rely on this cli image. This change increases the storage size which may have unexpected impacts.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Choose a reason for hiding this comment

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

This PR integrates with https://docs.google.com/document/d/1cFZj9QdzW8hbHc3H0Nce-2xrJMtpDJrwAse9H7hLiWk/edit?tab=t.0#heading=h.66y4kqbj468a

TLDR: it’s about integrating tests from this repository with openshift-tests to improve coverage and protect against regressions.

BTW: do we actually have any e2e tests defined for this repository? If not, maybe this PR isn’t needed at the moment.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@p0lyn0mial In qe repo we have, need to migrate those here
@zhouying7780 Please confirm

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@p0lyn0mial as checked with @zhouying7780 We have cases here

Copy link
Member

Choose a reason for hiding this comment

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

@gangwgr I built this binary on my local. Its size is 56 mb (zipped size is 24 mb). That means this change statically increases every image that relies on cli image with almost 30%. Additionally, this binary will be only used by our CI system so there is no point of building and exposing this to customers.

I think, we can add a separate Makefile target (e.g. make oc-tests-ext) in oc and build this binary separately only in our CI system (https://github.com/openshift/release/blob/104543c7c4e0bc5ad2b60e6d452b266233313efc/ci-operator/config/openshift/oc/openshift-oc-main.yaml#L30). WDYT?.

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 4, 2025
@gangwgr gangwgr force-pushed the test-module-infra-only branch from e6299a3 to 34ac8c5 Compare December 4, 2025 12:44
@gangwgr
Copy link
Contributor Author

gangwgr commented Dec 4, 2025

/test e2e-agnostic-ovn-cmd

1 similar comment
@gangwgr
Copy link
Contributor Author

gangwgr commented Dec 8, 2025

/test e2e-agnostic-ovn-cmd

Copy link
Member

@ardaguclu ardaguclu left a comment

Choose a reason for hiding this comment

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

There are merge conflicts. So this PR needs to be updated. I dropped some comments.

COPY . .
RUN make build --warn-undefined-variables
RUN make build --warn-undefined-variables \
&& make oc-tests-ext \
Copy link
Member

Choose a reason for hiding this comment

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

@gangwgr I built this binary on my local. Its size is 56 mb (zipped size is 24 mb). That means this change statically increases every image that relies on cli image with almost 30%. Additionally, this binary will be only used by our CI system so there is no point of building and exposing this to customers.

I think, we can add a separate Makefile target (e.g. make oc-tests-ext) in oc and build this binary separately only in our CI system (https://github.com/openshift/release/blob/104543c7c4e0bc5ad2b60e6d452b266233313efc/ci-operator/config/openshift/oc/openshift-oc-main.yaml#L30). WDYT?.

@@ -0,0 +1,53 @@
package main
Copy link
Member

Choose a reason for hiding this comment

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

Changes in this file make sense to me.

Makefile Outdated

oc-tests-ext: GO_BUILD_PACKAGES :=./cmd/oc-tests-ext
oc-tests-ext: GO_BUILD_FLAGS :=-tags 'include_gcs include_oss containers_image_openpgp'
oc-tests-ext: build
Copy link
Member

Choose a reason for hiding this comment

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

This should be a separate build target independent from main build and should be executed separately when it is required.

Makefile Outdated
.PHONY: oc

oc-tests-ext: GO_BUILD_PACKAGES :=./cmd/oc-tests-ext
oc-tests-ext: GO_BUILD_FLAGS :=-tags 'include_gcs include_oss containers_image_openpgp'
Copy link
Member

Choose a reason for hiding this comment

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

There is no need to use these flags for oc-tests-ext binary.

- Remove oc-tests-ext from main CLI image (Dockerfile.rhel) to avoid increasing image size by 30%
- Make oc-tests-ext an independent build target in Makefile
- Remove unnecessary build flags from oc-tests-ext target
- oc-tests-ext will be built separately in CI only when required

This addresses feedback from @ardaguclu on making oc-tests-ext a separate build that doesn't bloat the main CLI image.
@gangwgr
Copy link
Contributor Author

gangwgr commented Jan 5, 2026

@ardaguclu Regarding this #2160 (comment) we need Dockerfile changes and ote is independent from oc binary. In ci ote binary extracted and run test cases. We can't build ote binary in ci job as ote team asked us not to build ote binary in jobs.
We have only 2 options
Use Dockerfile
or migrate cases to origin repo
CC @Ke Wang(kewang)
slack discussion with @polynomial

@gangwgr
Copy link
Contributor Author

gangwgr commented Jan 5, 2026

/close

@openshift-ci openshift-ci bot closed this Jan 5, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 5, 2026

@gangwgr: Closed this PR.

Details

In response to this:

/close

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

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants