Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
e4879a3
refactor: replace hand-written test mocks with gomock-generated mocks…
pedjak Jun 22, 2026
13a33b5
Merge branch 'main' into synchronize
Jun 23, 2026
4f4821e
UPSTREAM: <carry>: Add OpenShift specific files
dtfranz Oct 26, 2023
fb09007
UPSTREAM: <carry>: Add new tests for single/own namespaces install modes
camilamacedo86 Oct 6, 2025
56cb549
UPSTREAM: <carry>: Upgrade OCP image from 4.20 to 4.21
camilamacedo86 Oct 13, 2025
10d8bfa
UPSTREAM: <carry>: [Default Catalog Tests] - Change logic to get ocp …
camilamacedo86 Oct 13, 2025
b8ec9c0
UPSTREAM: <carry>: Update OCP catalogs to v4.21
tmshort Oct 13, 2025
d0b4786
UPSTREAM: <carry>: support singleown cases in disconnected
kuiwang02 Oct 16, 2025
0f1f993
UPSTREAM: <carry>: fix cases 81696 and 74618 for product code changes
kuiwang02 Oct 17, 2025
19a653f
UPSTREAM: <carry>: Define Default timeouts and apply their usage accr…
camilamacedo86 Oct 22, 2025
95d59d8
UPSTREAM: <carry>: Update to new feature-gate options in helm
tmshort Oct 22, 2025
70ebbe1
UPSTREAM: <carry>: Fix flake for single/own ns tests by ensuring uniq…
camilamacedo86 Oct 22, 2025
9a768cc
UPSTREAM: <carry>: [OTE]: Enhance single/own ns based on review comme…
camilamacedo86 Oct 24, 2025
2b2c6fb
UPSTREAM: <carry>: Update OwnSingle template to use spec.config.inlin…
kuiwang02 Nov 3, 2025
0c41dc5
UPSTREAM: <carry>: [OTE]: Add webhook cleanup validation on extension…
camilamacedo86 Nov 4, 2025
8f32b2a
UPSTREAM: <carry>: Add [OTP] to migrated cases
kuiwang02 Nov 7, 2025
a21abee
UPSTREAM: <carry>: [OTE]: Upgrade dependencies used
camilamacedo86 Nov 5, 2025
80711cc
UPSTREAM: <carry>: fix(OTE): fix OpenShift Kubernetes replace version…
camilamacedo86 Nov 10, 2025
54267c6
UPSTREAM: <carry>: [Default Catalog Tests] Upgrade go 1.24.6 and depe…
camilamacedo86 Nov 11, 2025
fe5bba8
UPSTREAM: <carry>: add disconnected environment support with custom p…
kuiwang02 Nov 12, 2025
971be36
UPSTREAM: <carry>: migrate jiazha test cases to OTE
jianzhangbjz Nov 14, 2025
fdea17a
UPSTREAM: <carry>: migrate clustercatalog case to ote
Xia-Zhao-rh Oct 17, 2025
2560ded
UPSTREAM: <carry>: migrate olmv1 QE stress cases
kuiwang02 Nov 20, 2025
c68062d
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
tmshort Nov 25, 2025
80237cd
UPSTREAM: <carry>: migrate olmv1 QE cases
Xia-Zhao-rh Nov 25, 2025
0230e18
UPSTREAM: <carry>: add agent for olmv1 qe cases
kuiwang02 Oct 21, 2025
bd2a06a
UPSTREAM: <carry>: Disable upstream PodDisruptionBudget
tmshort Dec 3, 2025
e947f3b
UPSTREAM: <carry>: Add AGENTS.md for AI code contributions
rashmigottipati Dec 11, 2025
d4be09b
UPSTREAM: <carry>: address review comments through addl prompts
rashmigottipati Dec 11, 2025
195531d
UPSTREAM: <carry>: addressing some more review comments
rashmigottipati Dec 11, 2025
18a6600
UPSTREAM: <carry>: remove DCO line
rashmigottipati Dec 11, 2025
65b3db4
UPSTREAM: <carry>: migrate bandrade test cases to OTE
bandrade Nov 18, 2025
bf5bd67
UPSTREAM: <carry>: update metadata
bandrade Dec 3, 2025
39a00a7
UPSTREAM: <carry>: remove originalName
bandrade Dec 3, 2025
2a93c78
UPSTREAM: <carry>: update 80458's timeout to 180s
jianzhangbjz Dec 8, 2025
e15d089
UPSTREAM: <carry>: update 83026 to specify the clustercatalog
jianzhangbjz Dec 15, 2025
6f4e8b4
UPSTREAM: <carry>: Update to golang 1.25 and ocp 4.22
oceanc80 Dec 18, 2025
35ff9d8
UPSTREAM: <carry>: Use oc client for running e2e tests
pedjak Jan 13, 2026
a9448c5
UPSTREAM: <carry>: Run upstream e2e tests tagged with `@catalogd-update`
pedjak Jan 14, 2026
b58128d
UPSTREAM: <carry>: enhance case to make it more stable
kuiwang02 Jan 6, 2026
b31f125
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Jan 7, 2026
e5db72b
UPSTREAM: <carry>: move sa creation out of buildCurlJob()
ehearne-redhat Jan 8, 2026
c8c241f
UPSTREAM: <carry>: comment out delete service account
ehearne-redhat Jan 9, 2026
dd9159b
UPSTREAM: <carry>: move defercleanup for sa for LIFO
ehearne-redhat Jan 9, 2026
64aff16
UPSTREAM: <carry>: add polling so job fully deleted before proceed
ehearne-redhat Jan 12, 2026
3c240ab
UPSTREAM: <carry>: Revert "Merge pull request #594 from ehearne-redha…
sosiouxme Jan 20, 2026
c84bcb7
UPSTREAM: <carry>: Remove openshift-redhat-marketplace catalog tests
camilamacedo86 Jan 8, 2026
3750a7f
UPSTREAM: <carry>: config watchnamespace cases
kuiwang02 Jan 6, 2026
bb8ce87
UPSTREAM: <carry>: enhance ocp-79770
Xia-Zhao-rh Jan 26, 2026
a50dc44
UPSTREAM: <carry>: upgrade version support case
kuiwang02 Jan 28, 2026
9d1acae
UPSTREAM: <carry>: Remove installed condition check from auth preflig…
Jan 30, 2026
8220097
UPSTREAM: <carry>: Add openshift/api dependency
Jan 30, 2026
eaf856e
UPSTREAM: <carry>: Add boxcutter specific preflight auth test
Jan 30, 2026
d180ae0
UPSTREAM: <carry>: adjust watchnamespace case based on change
kuiwang02 Feb 2, 2026
64aa842
UPSTREAM: <carry>: fix(ote): Use as operator-controller dep from root…
camilamacedo86 Feb 3, 2026
90e9564
UPSTREAM: <carry>: add 83979 automation
bandrade Feb 2, 2026
b41b17b
UPSTREAM: <carry>: add 85889 automation
bandrade Feb 2, 2026
5b7a345
UPSTREAM: <carry>: Update test-operator startup script to fix pod pro…
Feb 4, 2026
b812679
UPSTREAM: <carry>: Fix up own-namespace invalid configuration test
Feb 7, 2026
3a938e3
UPSTREAM: <carry>: Preflight tests use in-cluster catalog and bundles…
camilamacedo86 Feb 24, 2026
b3e09b8
UPSTREAM: <carry>: adjust sa and permission test cases per new change…
kuiwang02 Feb 2, 2026
73271c9
UPSTREAM: <carry>: Update OCP catalogs to v4.22
camilamacedo86 Feb 3, 2026
8fdad77
UPSTREAM: <carry>: chore(OTE and Default Catalog Tests) Update go and…
camilamacedo86 Feb 26, 2026
248e2b0
UPSTREAM: <carry>: fix 83026 for TP cluster
jianzhangbjz Feb 28, 2026
16acbed
UPSTREAM: <carry>: serviceAccount validation unified across all runtimes
kuiwang02 Mar 6, 2026
6ba56f2
UPSTREAM: <carry>: Fix OLMv1 test operator to listen on IPv6
stbenjam Mar 6, 2026
42726ec
UPSTREAM: <carry>: Increase install timeout and add diagnostic loggin…
camilamacedo86 Mar 11, 2026
675db3d
UPSTREAM: <carry>: add service account to curl job
ehearne-redhat Mar 2, 2026
79e0a84
UPSTREAM: <carry>: update OCP-75441 to support multi-arch
jianzhangbjz Mar 19, 2026
eb7a4e7
UPSTREAM: <carry>: deployment config cases
kuiwang02 Feb 6, 2026
56e3049
UPSTREAM: <carry>: Add OTE tests for OLMv1 DeploymentConfig support
tmshort Mar 11, 2026
a96323e
UPSTREAM: <carry>: Update openshift/api and client-go
tmshort Mar 19, 2026
65af7db
UPSTREAM: <carry>: Add boxcutter tests
camilamacedo86 Mar 23, 2026
8308571
UPSTREAM: <carry>: enhance QE cases
Xia-Zhao-rh Mar 17, 2026
f3a32dc
UPSTREAM: <carry>: Update quay-operator version to one containing arm…
dtfranz Mar 24, 2026
dc6ff6a
UPSTREAM: <carry>: verify volume/volumeMount override
kuiwang02 Mar 25, 2026
b20f8f0
UPSTREAM: <carry>: Add long-duration test script and documents
jianzhangbjz Mar 11, 2026
83e073f
UPSTREAM: <carry>: Update grpc in default-catalog-consistency tests
tmshort Mar 27, 2026
6b79cb6
UPSTREAM: <carry>: Rename ClusterExtensionRevision to ClusterObjectSe…
camilamacedo86 Mar 31, 2026
474760f
UPSTREAM: <carry>: Skip incompatible operator test when Boxcutter use…
camilamacedo86 Mar 31, 2026
a7facb5
UPSTREAM: <carry>: add ocp-87557
bandrade Feb 8, 2026
6f90e24
UPSTREAM: <carry>: Add fgiudici as reviewer
fgiudici Mar 31, 2026
5f80c09
UPSTREAM: <carry>: Remove skip for incompatible operator check after …
camilamacedo86 Apr 1, 2026
e72c1e7
UPSTREAM: <carry>: Test empty affinity erasure and cleanup
kuiwang02 Apr 1, 2026
7e64375
UPSTREAM: <carry>: Fix boxcutter finalizer ResourceNames in prefligh…
camilamacedo86 Apr 9, 2026
124fb2a
UPSTREAM: <carry>: Expand OTE docs with more comprehensive details
camilamacedo86 Apr 15, 2026
6d9417b
UPSTREAM: <carry>: Disable upstream TLSProfile tests
tmshort Apr 18, 2026
23bb502
UPSTREAM: <carry>: OTE: Simplify by remove option to configure tests …
camilamacedo86 Apr 20, 2026
34fd845
UPSTREAM: <carry>: OTE - Make OTE local output easier to read
camilamacedo86 Apr 21, 2026
3641f50
UPSTREAM: <carry>: remove dead e2e registry push job and related vari…
joelanford Apr 29, 2026
246713f
UPSTREAM: <carry>: OCPBUGS-62517: Set replicas=1, PDB, and pod anti-a…
tmshort Apr 23, 2026
f98ecbb
UPSTREAM: <carry>: fix(test): drop blocking namespace-deletion wait b…
tmshort May 4, 2026
d1cc9f4
UPSTREAM: <carry>: Fix downstream e2e test invocation
tmshort May 18, 2026
388708f
UPSTREAM: <carry>: Delete openshift/registry.Dockerfile
joelanford May 19, 2026
3b19e51
UPSTREAM: <carry>: Remove test-experimenal-e2e
tmshort May 20, 2026
c300581
UPSTREAM: <carry>: Update readme Default Catalog Tests
camilamacedo86 May 27, 2026
768e3c8
UPSTREAM: <carry>: add OLMv1 topology-based deployment scaling e2e test
tmshort May 26, 2026
8dace18
UPSTREAM: <carry>: Update dockerfiles to use golang-1.26-release-4.23…
tmshort Jun 4, 2026
43d1c89
UPSTREAM: <carry>: Updating ose-olm-operator-controller-container ima…
Jun 6, 2026
8663949
UPSTREAM: <carry>: Updating ose-olm-catalogd-container image to be co…
Jun 6, 2026
136e4dd
UPSTREAM: <carry>: Update catalogs for 4.23/5.0
tmshort May 21, 2026
bc8b46f
UPSTREAM: <drop>: go mod vendor
Jun 23, 2026
f0ae12b
UPSTREAM: <drop>: remove upstream GitHub configuration
Jun 23, 2026
90ad5d5
UPSTREAM: <drop>: configure the commit-checker
Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .bingo/Variables.mk
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@ $(KUBE_SCORE): $(BINGO_DIR)/kube-score.mod
@echo "(re)installing $(GOBIN)/kube-score-v1.20.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kube-score.mod -o=$(GOBIN)/kube-score-v1.20.0 "github.com/zegl/kube-score/cmd/kube-score"

MOCKGEN := $(GOBIN)/mockgen-v0.6.0
$(MOCKGEN): $(BINGO_DIR)/mockgen.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/mockgen-v0.6.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=mockgen.mod -o=$(GOBIN)/mockgen-v0.6.0 "go.uber.org/mock/mockgen"

OPERATOR_SDK := $(GOBIN)/operator-sdk-v1.41.1
$(OPERATOR_SDK): $(BINGO_DIR)/operator-sdk.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
Expand Down
5 changes: 5 additions & 0 deletions .bingo/mockgen.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT

go 1.26.3

require go.uber.org/mock v0.6.0 // mockgen
8 changes: 8 additions & 0 deletions .bingo/mockgen.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
2 changes: 2 additions & 0 deletions .bingo/variables.env
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ KIND="${GOBIN}/kind-v0.32.0"

KUBE_SCORE="${GOBIN}/kube-score-v1.20.0"

MOCKGEN="${GOBIN}/mockgen-v0.6.0"

OPERATOR_SDK="${GOBIN}/operator-sdk-v1.41.1"

OPM="${GOBIN}/opm-v1.60.0"
Expand Down
15 changes: 13 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,15 @@ install and manage cluster extensions. The project follows a microservices archi
- `containers_image_openpgp` - required for image handling

**Tools (managed via .bingo/):**
- controller-gen, golangci-lint, goreleaser, helm, kind, kustomize, setup-envtest, operator-sdk
- controller-gen, golangci-lint, goreleaser, helm, kind, kustomize, mockgen, setup-envtest, operator-sdk

**Test Mocking:**
- **gomock** (`go.uber.org/mock`): Used for generated mock implementations. `//go:generate mockgen` directives
live in `internal/testutil/mock/generate.go` (external and internal exported interfaces) and at interface
definitions for internal unexported interfaces (source mode). Run `make generate-mocks` to regenerate.
All interface mocks should be gomock-generated. Test fakes that return preconfigured values without
interaction verification (e.g., `FakePuller`, `FakeCache` in `image/fakes.go`) are not mocks and stay
hand-written.

---

Expand Down Expand Up @@ -140,8 +148,11 @@ make manifests
# Update CRDs and reference docs (when Go-based API definitions change)
make update-crds crd-ref-docs

# Generate code (DeepCopy methods)
# Generate code (DeepCopy methods and mock implementations)
make generate

# Regenerate mock implementations only
make generate-mocks
```

---
Expand Down
19 changes: 16 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,14 @@ endif
# bingo manages consistent tooling versions for things like kind, etc.
include .bingo/Variables.mk

# mockgen is installed by bingo with a versioned name (mockgen-v0.6.0).
# Redefine MOCKGEN to an unversioned symlink so that go generate can find it on PATH.
_MOCKGEN_BINGO := $(MOCKGEN)
MOCKGEN := $(ROOT_DIR)/bin/mockgen
$(MOCKGEN): $(_MOCKGEN_BINGO)
@mkdir -p $(dir $@)
@ln -sf $< $@

ifeq ($(origin KIND_CLUSTER_NAME), undefined)
KIND_CLUSTER_NAME := operator-controller
endif
Expand Down Expand Up @@ -201,8 +209,12 @@ manifests: update-crds $(MANIFESTS) $(HELM) #EXHELP Generate OLMv1 manifests
$(HELM) template olmv1 helm/olmv1 --values helm/tilt.yaml $(addprefix --set ,$(HELM_SETTINGS)) > /dev/null
$(HELM) template olmv1 helm/olmv1 --set "options.openshift.enabled=true" > /dev/null

.PHONY: generate-mocks
generate-mocks: $(MOCKGEN) #EXHELP Generate mock implementations for testing.
PATH="$(ROOT_DIR)/bin:$$PATH" go generate ./...

.PHONY: generate
generate: $(CONTROLLER_GEN) #EXHELP Generate code containing DeepCopy, DeepCopyInto, DeepCopyObject, and ApplyConfiguration type implementations.
generate: $(CONTROLLER_GEN) generate-mocks #EXHELP Generate code containing DeepCopy, DeepCopyInto, DeepCopyObject, and ApplyConfiguration type implementations.
# Need to delete the files for them to be generated properly
@find api cmd hack internal -name "zz_generated.deepcopy.go" -not -path "*/vendor/*" -delete && rm -rf applyconfigurations
$(CONTROLLER_GEN) --load-build-tags=$(GO_BUILD_TAGS) applyconfiguration:headerFile="hack/boilerplate.go.txt" paths="./api/..."
Expand Down Expand Up @@ -289,7 +301,8 @@ extension-developer-e2e: export CONTAINER_RUNTIME := $(CONTAINER_RUNTIME)
extension-developer-e2e: $(OPERATOR_SDK) #EXHELP Run extension create, upgrade and delete tests.
go test -count=1 -v ./test/extension-developer-e2e/...

UNIT_TEST_DIRS := $(shell go list ./... | grep -vE "/test/|/testutils") $(shell go list ./test/internal/...)
UNIT_TEST_DIRS := $(shell go list ./... | grep -vE "/test/|/testutils|/testutil/mock") $(shell go list ./test/internal/...)
COVERAGE_PKGS := $(shell go list ./... | grep -vE "/test/|/testutils|/testutil/mock" | paste -sd,)
COVERAGE_UNIT_DIR := $(ROOT_DIR)/coverage/unit

.PHONY: envtest-k8s-bins #HELP Uses setup-envtest to download and install the binaries required to run ENVTEST-test based locally at the project/bin directory.
Expand All @@ -303,7 +316,7 @@ test-unit: $(SETUP_ENVTEST) envtest-k8s-bins #HELP Run the unit tests
KUBEBUILDER_ASSETS="$(shell $(SETUP_ENVTEST) use -p path $(ENVTEST_VERSION) $(SETUP_ENVTEST_BIN_DIR_OVERRIDE))" \
CGO_ENABLED=1 go test \
-tags '$(GO_BUILD_TAGS)' \
-cover -coverprofile ${ROOT_DIR}/coverage/unit.out \
-cover -coverpkg=$(COVERAGE_PKGS) -coverprofile ${ROOT_DIR}/coverage/unit.out \
-count=1 -race -short \
$(UNIT_TEST_DIRS) \
-test.gocoverdir=$(COVERAGE_UNIT_DIR)
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ require (
github.com/spf13/pflag v1.0.10
github.com/stretchr/testify v1.11.1
go.podman.io/image/v5 v5.40.0
go.uber.org/mock v0.6.0
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f
golang.org/x/mod v0.37.0
golang.org/x/sync v0.21.0
Expand Down Expand Up @@ -205,7 +206,6 @@ require (
github.com/smallstep/pkcs7 v0.2.1 // indirect
github.com/spf13/cast v1.10.0 // indirect
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 // indirect
github.com/stretchr/objx v0.5.3 // indirect
github.com/ulikunitz/xz v0.5.15 // indirect
github.com/vbatts/tar-split v0.12.3 // indirect
github.com/vbauerster/mpb/v8 v8.12.0 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,8 @@ go.podman.io/storage v1.63.0 h1:bj/pAWFhChbuBmejzno0iQLhU7FevGVXepRXm5pFGeA=
go.podman.io/storage v1.63.0/go.mod h1:z4Z9K+7GhKjWL/Y1O17+4f8a1KGijVeC9hr3tymhSOs=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc=
Expand Down
Loading