Skip to content

Conversation

@gangwgr
Copy link

@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

Introduces a new test extension binary oc-tests-ext by adding a Cobra CLI entrypoint, corresponding Makefile build target, dependency declaration in go.mod, and Docker build configuration to compile and include the binary in container images.

Changes

Cohort / File(s) Summary
Build configuration
.gitignore, Makefile
Added /oc-tests-ext ignore rule; created new oc-tests-ext Makefile target with build variables and phony declaration
Application code
cmd/oc-tests-ext/main.go
New Go entrypoint implementing Cobra CLI binary that initializes operator tests registry, constructs root command with version info, and registers default extension commands
Dependency management
go.mod
Added direct dependency github.com/openshift-eng/openshift-tests-extension and indirect dependencies for CEL expression evaluation and protocol buffer generation
Container image
images/cli/Dockerfile.rhel
Updated builder stage to compile oc-tests-ext and gzip binary; copied compressed artifact to final image layer

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify legitimacy and version pinning of the new github.com/openshift-eng/openshift-tests-extension dependency
  • Review Cobra CLI structure and registry initialization logic in cmd/oc-tests-ext/main.go for correctness
  • Validate Makefile build flags (particularly include_gcs, include_oss, containers_image_openpgp tags) align with extension requirements
  • Confirm Dockerfile build process correctly compresses and stages the binary without breaking existing image layers
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent 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 e6299a3 and 34ac8c5.

⛔ Files ignored due to path filters (295)
  • 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/**
  • vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go is excluded by !vendor/**, !**/vendor/**
📒 Files selected for processing (1)
  • go.mod (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • go.mod

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

@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
Author

gangwgr commented Dec 4, 2025

/test e2e-agnostic-ovn-cmd

1 similar comment
@gangwgr
Copy link
Author

gangwgr commented Dec 8, 2025

/test e2e-agnostic-ovn-cmd

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 8, 2025

@gangwgr: all tests passed!

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

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