@@ -136,54 +136,98 @@ containerize:
136136 set -x
137137 fi
138138
139- # Download Go
140- GO_VERSION=$(get_env go-version)
141- if [[ -z "${GO_VERSION}" ]]; then
142- GO_VERSION="$(grep '^go [0-9]\+.[0-9]\+' go.mod | cut -d ' ' -f 2)"
143- fi
144- rm -rf /usr/local/go && wget --no-verbose --header "Accept: application/octet-stream" "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" -O - | tar -xz -C /usr/local/
139+ ## Setup required tooling
140+ make setup-go GO_RELEASE_VERSION=$(get_env go-version)
145141 export PATH=$PATH:/usr/local/go/bin
142+ yum -y -q update
146143
147- apt-get update
148- apt-get -qq -y install build-essential software-properties-common uidmap
149-
150- skopeo --version
151-
152- # Build images
144+ # PERIODIC_SCAN=$(get_env periodic-rescan)
145+ # PERIODIC_SCAN="$(echo "$PERIODIC_SCAN" | tr '[:upper:]' '[:lower:]')"
146+ # Build images
153147 export RELEASE_TARGET=$(get_env branch)
154148 export PIPELINE_USERNAME=$(get_env ibmcloud-api-user)
155- export PIPELINE_PASSWORD=$(get_env ibmcloud-api-key-staging)
156- PIPELINE_REGISTRY=$(get_env pipeline-registry)
157- PIPELINE_OPERATOR_IMAGE=$(get_env pipeline-operator-image)
149+ export PIPELINE_PASSWORD=$(get_env ibmcloud-api-key-staging)
150+ export PIPELINE_REGISTRY=$(get_env pipeline-registry)
151+ export PIPELINE_OPERATOR_IMAGE=$(get_env pipeline-operator-image)
152+ export PIPELINE_PRODUCTION_IMAGE=$PIPELINE_REGISTRY/$PIPELINE_OPERATOR_IMAGE
153+ export REDHAT_BASE_IMAGE=$(get_env redhat-base-image)
154+ export OPM_VERSION=$(get_env opm-version)
155+ export DISABLE_ARTIFACTORY=$(get_env disable-artifactory)
156+ # export REDHAT_USERNAME=$(get_env redhat-user-id)
157+ # export REDHAT_PASSWORD=$(get_env redhat-password)
158+ # export REDHAT_REGISTRY=$(get_env redhat-registry)
159+ # export W3_USERNAME=$(get_env w3_username)
160+ # export W3_PASSWORD=$(get_env w3_password)
161+
162+ # flags for P and/or Z
163+ export arch=$(get_env architecture)
164+
165+ git clone https://$(get_env git-token)@github.ibm.com/websphere/operators.git
166+ cp -rf operators/scripts/build ./scripts/
167+ # Temporary catalog build scripts (registry mirror to be done)
168+ cp ./scripts/build-catalog.sh ./scripts/build/build-catalog.sh
169+
170+ echo "skopeo version"
171+ skopeo --version || exit 1
172+
173+ # Docker login and setup build configurations
174+ scripts/build/build-initialize.sh
175+
158176 # Build amd64 image
159- make build-pipeline-releases
160- # Build ppc64le and s390x images
161- #./scripts/pipeline/launch-travis.sh -t $(get_env travis-token) -r "https://github.com/application-stacks/runtime-component-operator" -b $(get_env branch) -l
177+ make build-operator-pipeline REGISTRY=${PIPELINE_REGISTRY}
178+
162179 # Build manifest
163- make build-pipeline-manifest
180+ make build-manifest-pipeline REGISTRY=${PIPELINE_REGISTRY} IMAGE=${PIPELINE_OPERATOR_IMAGE}
181+
164182 # Build bundle image
165- # ./scripts/pipeline/launch-catalog-build.sh -t $(get_env travis-token) -r "https://github.com/application-stacks/runtime-component-operator" -b $(get_env branch) -l
166- make install-opm
167- make bundle-pipeline-releases RELEASE_TARGET=${RELEASE_TARGET}
168- # Save artifacts
169- declare -a tags=("${RELEASE_TARGET}" "${RELEASE_TARGET}-amd64")
183+ make build-bundle-pipeline REGISTRY=${PIPELINE_REGISTRY}
184+
185+ # Build catalog image
186+ make build-catalog-pipeline REGISTRY=${PIPELINE_REGISTRY}
187+
188+ # Build catalog manifest
189+ make build-manifest-pipeline REGISTRY=${PIPELINE_REGISTRY} IMAGE=${PIPELINE_OPERATOR_IMAGE}-catalog
190+
191+ echo "**** Saving Artifacts ****"
192+ if [[ "$arch" == "ZXP" ]]; then
193+ declare -a tags=("${RELEASE_TARGET}" "${RELEASE_TARGET}-amd64" "${RELEASE_TARGET}-ppc64le" "${RELEASE_TARGET}-s390x")
194+ else
195+ declare -a tags=("${RELEASE_TARGET}" "${RELEASE_TARGET}-amd64")
196+ fi
197+
170198 for i in "${tags[@]}"
171199 do
172200 IMAGE=$PIPELINE_REGISTRY/$PIPELINE_OPERATOR_IMAGE:$i
173201 DIGEST="$(skopeo inspect docker://$IMAGE | grep Digest | grep -o 'sha[^\"]*')"
174- ARCH=$(echo $i | cut -d'-' -f 2)
175- echo "Saving artifact $i name=$IMAGE digest=$DIGEST"
176- save_artifact $i type=image name="$IMAGE" "digest=$DIGEST" "arch=$ARCH"
202+ { ARCH="$(echo $i | grep -o '\(amd64\|s390x\|ppc64le\)$')" && TYPE="image"; } || { TYPE="manifest"; }
203+
204+ if [[ "$TYPE" == "manifest" ]]; then
205+ echo "Saving artifact operator-$i type=$TYPE name=$IMAGE digest=$DIGEST"
206+ save_artifact operator-$i type=$TYPE name="$IMAGE" "digest=$DIGEST"
207+ else
208+ echo "Saving artifact operator-$i type=$TYPE name=$IMAGE digest=$DIGEST arch=$ARCH"
209+ save_artifact operator-$i type=$TYPE name="$IMAGE" "digest=$DIGEST" "arch=$ARCH"
210+ fi
177211 done
178- declare -a catalogs=("catalog-${RELEASE_TARGET}")
179- for i in "${catalogs[@]}"
212+
213+ IMAGE=$PIPELINE_REGISTRY/$PIPELINE_OPERATOR_IMAGE-bundle:${RELEASE_TARGET}
214+ DIGEST="$(skopeo inspect docker://$IMAGE | grep Digest | grep -o 'sha[^\"]*')"
215+ echo "Saving artifact bundle-${RELEASE_TARGET} name=$IMAGE digest=$DIGEST"
216+ save_artifact bundle-${RELEASE_TARGET} type=image name="$IMAGE" "digest=$DIGEST"
217+
218+ for i in "${tags[@]}"
180219 do
181- IMAGE=$PIPELINE_REGISTRY/$PIPELINE_OPERATOR_IMAGE:$i
220+ IMAGE=$PIPELINE_REGISTRY/$PIPELINE_OPERATOR_IMAGE-catalog :$i
182221 DIGEST="$(skopeo inspect docker://$IMAGE | grep Digest | grep -o 'sha[^\"]*')"
183- #ARCH=$(echo $i | cut -d'-' -f 2)
184- ARCH=amd64
185- echo "Saving artifact $i name=$IMAGE digest=$DIGEST"
186- save_artifact $i type=image name="$IMAGE" "digest=$DIGEST" "arch=$ARCH"
222+ { ARCH="$(echo $i | grep -o '\(amd64\|s390x\|ppc64le\)$')" && TYPE="image"; } || { ARCH="amd64" && TYPE="manifest"; }
223+
224+ if [[ "$TYPE" == "manifest" ]]; then
225+ echo "Saving artifact catalog-$i type=$TYPE name=$IMAGE digest=$DIGEST"
226+ save_artifact catalog-$i type=$TYPE name="$IMAGE" "digest=$DIGEST"
227+ else
228+ echo "Saving artifact catalog-$i type=$TYPE name=$IMAGE digest=$DIGEST arch=$ARCH"
229+ save_artifact catalog-$i type=$TYPE name="$IMAGE" "digest=$DIGEST" "arch=$ARCH"
230+ fi
187231 done
188232
189233 # echo "whitesource scan"
@@ -265,6 +309,7 @@ acceptance-test:
265309 echo "Skipping acceptance-test, SKIP_KIND_E2E_TEST=$SKIP_KIND_E2E_TEST"
266310 exit 0
267311 fi
312+
268313 # Download and configure golang
269314 GO_VERSION=$(get_env go-version)
270315 if [[ -z "${GO_VERSION}" ]]; then
0 commit comments