@@ -29,11 +29,14 @@ COMPATIBLE_VERSION = 3.2.4
2929# The selector to use to find Operator Pods of the COMPATIBLE_VERSION (do not put in double quotes!!)
3030COMPATIBLE_SELECTOR = control-plane=coherence
3131
32+ # The GitHub project URL
33+ PROJECT_URL = https://github.com/oracle/coherence-operator
34+
3235# ----------------------------------------------------------------------------------------------------------------------
3336# The Coherence image to use for deployments that do not specify an image
3437# ----------------------------------------------------------------------------------------------------------------------
35- COHERENCE_VERSION ?= 21.12
36- COHERENCE_IMAGE ?= ghcr.io/oracle/coherence-ce:21.12
38+ COHERENCE_VERSION ?= 21.12.1
39+ COHERENCE_IMAGE ?= ghcr.io/oracle/coherence-ce:21.12.1
3740# This is the Coherence image that will be used in tests.
3841# Changing this variable will allow test builds to be run against different Coherence versions
3942# without altering the default image name.
@@ -76,19 +79,20 @@ OPERATOR_IMAGE := $(OPERATOR_IMAGE_REPO):$(VERSION)
7679OPERATOR_IMAGE_DELVE := $(OPERATOR_IMAGE_REPO ) :delve
7780OPERATOR_IMAGE_DEBUG := $(OPERATOR_IMAGE_REPO ) :debug
7881UTILS_IMAGE ?= $(OPERATOR_IMAGE_REPO ) :$(VERSION ) -utils
82+ TEST_BASE_IMAGE ?= $(OPERATOR_IMAGE_REPO ) -test-base:$(VERSION )
7983# The Operator images to push
80- OPERATOR_RELEASE_REPO ?= $(OPERATOR_IMAGE_REPO )
81- OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION )
82- UTILS_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION ) -utils
83- BUNDLE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION ) -bundle
84+ OPERATOR_RELEASE_REPO ?= $(OPERATOR_IMAGE_REPO )
85+ OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION )
86+ UTILS_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION ) -utils
87+ TEST_BASE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) -test-base:$(VERSION )
88+ BUNDLE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO ) :$(VERSION ) -bundle
8489
8590GPG_PASSPHRASE :=
8691
8792# ----------------------------------------------------------------------------------------------------------------------
8893# The test application images used in integration tests
8994# ----------------------------------------------------------------------------------------------------------------------
9095TEST_APPLICATION_IMAGE := $(RELEASE_IMAGE_PREFIX ) operator-test:1.0.0
91- TEST_APPLICATION_IMAGE_WITH_UTILS := $(RELEASE_IMAGE_PREFIX ) operator-test-with-utils:1.0.0
9296TEST_COMPATIBILITY_IMAGE := $(RELEASE_IMAGE_PREFIX ) operator-test-compatibility:1.0.0
9397TEST_APPLICATION_IMAGE_CLIENT := $(RELEASE_IMAGE_PREFIX ) operator-test-client:1.0.0
9498TEST_APPLICATION_IMAGE_HELIDON := $(RELEASE_IMAGE_PREFIX ) operator-test-helidon:1.0.0
@@ -404,11 +408,27 @@ build-utils: build-mvn $(BUILD_BIN)/runner ## Build the Coherence Operator util
404408 docker build --no-cache --build-arg target=arm64 -t $(UTILS_IMAGE ) -arm64 java/coherence-operator/target/docker
405409 docker tag $(UTILS_IMAGE ) -$(IMAGE_ARCH ) $(UTILS_IMAGE )
406410
411+ # ----------------------------------------------------------------------------------------------------------------------
412+ # Build the Operator base test image
413+ # ----------------------------------------------------------------------------------------------------------------------
414+ .PHONY : build-test-base
415+ build-test-base : export ARTIFACT_DIR := $(CURRDIR ) /java/coherence-operator
416+ build-test-base : export VERSION := $(VERSION )
417+ build-test-base : export IMAGE_NAME := $(TEST_BASE_IMAGE )
418+ build-test-base : export AMD_BASE_IMAGE := gcr.io/distroless/java11
419+ build-test-base : export ARM_BASE_IMAGE := gcr.io/distroless/java11
420+ build-test-base : export PROJECT_URL := $(PROJECT_URL )
421+ build-test-base : export PROJECT_VENDOR := Oracle
422+ build-test-base : export PROJECT_DESCRIPTION := Oracle Coherence bease test image
423+ build-test-base : build-mvn $(BUILD_BIN ) /runner # # Build the Coherence test base image
424+ cp -R $(BUILD_BIN ) /linux java/coherence-operator/target/docker
425+ $(CURRDIR ) /java/coherence-operator/run-buildah.sh BUILD
426+
407427# ----------------------------------------------------------------------------------------------------------------------
408428# Build the Operator images without the test images
409429# ----------------------------------------------------------------------------------------------------------------------
410430.PHONY : build-operator-images
411- build-operator-images : $(BUILD_TARGETS ) /build-operator build-utils # # Build all operator images
431+ build-operator-images : $(BUILD_TARGETS ) /build-operator build-utils build-test-base # # Build all operator images
412432
413433# ----------------------------------------------------------------------------------------------------------------------
414434# Build the Operator Test images
@@ -430,7 +450,6 @@ build-test-images: build-mvn build-client-image build-basic-test-image ## Build
430450.PHONY : build-basic-test-image
431451build-basic-test-image : build-mvn # # Build the basic Operator test image
432452 ./mvnw -B -f java/operator-test package jib:dockerBuild -DskipTests -Djib.to.image=$(TEST_APPLICATION_IMAGE ) $(MAVEN_BUILD_OPTS )
433- ./mvnw -B -f java/operator-test-with-utils package jib:dockerBuild -am -nsu -DskipTests -Djib.to.image=$(TEST_APPLICATION_IMAGE_WITH_UTILS ) $(MAVEN_BUILD_OPTS )
434453
435454.PHONY : build-client-image
436455build-client-image : # # Build the test client image
@@ -440,7 +459,7 @@ build-client-image: ## Build the test client image
440459# Build all of the Docker images
441460# ----------------------------------------------------------------------------------------------------------------------
442461.PHONY : build-all-images
443- build-all-images : $(BUILD_TARGETS ) /build-operator build-utils build-test-images # # Build all images (including tests)
462+ build-all-images : $(BUILD_TARGETS ) /build-operator build-utils build-test-base build-test- images # # Build all images (including tests)
444463
445464# ----------------------------------------------------------------------------------------------------------------------
446465# Build the operator linux binary
@@ -1568,6 +1587,24 @@ else
15681587 docker manifest push $(UTILS_RELEASE_IMAGE)
15691588endif
15701589
1590+ # ----------------------------------------------------------------------------------------------------------------------
1591+ # Push the test base images
1592+ # ----------------------------------------------------------------------------------------------------------------------
1593+ .PHONY : push-test-base-images
1594+ push-test-base-images :
1595+ ifeq ($(TEST_BASE_RELEASE_IMAGE ) , $(TEST_BASE_IMAGE ) )
1596+ @echo "Pushing $(TEST_BASE_IMAGE)"
1597+ ./mvnw -B -f java/coherence-operator package -P push-test-base-image -pl coherence-operator \
1598+ -DskipTests -Dimage.name=$(TEST_BASE_IMAGE)
1599+ else
1600+ @echo "Tagging $(TEST_BASE_IMAGE)-amd64 as $(TEST_BASE_RELEASE_IMAGE)-amd64"
1601+ docker tag $(TEST_BASE_IMAGE)-amd64 $(TEST_BASE_RELEASE_IMAGE)-amd64
1602+ @echo "Tagging $(TEST_BASE_IMAGE)-arm64 as $(TEST_BASE_RELEASE_IMAGE)-arm64"
1603+ docker tag $(TEST_BASE_IMAGE)-arm64 $(TEST_BASE_RELEASE_IMAGE)-arm64
1604+ ./mvnw -B -f java/coherence-operator package -P push-test-base-image -pl coherence-operator \
1605+ -DskipTests -Dimage.name=$(TEST_BASE_RELEASE_IMAGE)
1606+ endif
1607+
15711608# ----------------------------------------------------------------------------------------------------------------------
15721609# Push the Operator JIB Test Docker images
15731610# ----------------------------------------------------------------------------------------------------------------------
@@ -1603,13 +1640,13 @@ push-compatibility-image:
16031640# Push all of the Docker images
16041641# ----------------------------------------------------------------------------------------------------------------------
16051642.PHONY : push-all-images
1606- push-all-images : push-test-images push-utils-image push-operator-image
1643+ push-all-images : push-test-images push-test-base-images push- utils-image push-operator-image
16071644
16081645# ----------------------------------------------------------------------------------------------------------------------
16091646# Push all of the Docker images that are released
16101647# ----------------------------------------------------------------------------------------------------------------------
16111648.PHONY : push-release-images
1612- push-release-images : push-utils-image push-operator-image
1649+ push-release-images : push-test-base-images push- utils-image push-operator-image
16131650
16141651# ----------------------------------------------------------------------------------------------------------------------
16151652# Install Prometheus
0 commit comments