diff --git a/build/generate_bundle.sh b/build/generate_bundle.sh index d146386..99d3699 100755 --- a/build/generate_bundle.sh +++ b/build/generate_bundle.sh @@ -33,6 +33,15 @@ generate_bundle() { ${OPERATOR_SDK} generate bundle --channels ${BUNDLE_CHANNELS} --default-channel ${BUNDLE_DEFAULT_CHANNEL} --manifests --metadata --version "${OPERATOR_BUNDLE_VERSION}" --output-dir "${WORKING_DIR}" >> ${LOGFILE} 2>&1 popd > /dev/null 2>&1 + # CSVs without a spec.replaces field are valid, so fall back to those if + # latest released version is unknown. + # Placeholder value is validated by operator-sdk during local bundle + # generation and so needs to conform to RFC1123. + if [[ -n "$BUNDLE_LATEST_RELEASED_VERSION" ]]; then + REPLACE_REGEX="$REPLACE_REGEX;s#---bundle-latest-released-version#${BUNDLE_LATEST_RELEASED_VERSION}#g" + else sed -i '/---bundle-latest-released-version/d' "${WORKING_DIR}/manifests/${OPERATOR_NAME}.clusterserviceversion.yaml" + fi + sed -i -E "${REPLACE_REGEX}" "${WORKING_DIR}/manifests/${OPERATOR_NAME}.clusterserviceversion.yaml" } diff --git a/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml b/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml index 10e2f0b..08a8254 100644 --- a/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml +++ b/deploy/olm-catalog/smart-gateway-operator/manifests/smart-gateway-operator.clusterserviceversion.yaml @@ -389,4 +389,5 @@ spec: selector: matchLabels: name: smart-gateway-operator + replaces: smart-gateway-operator.v---bundle-latest-released-version version: 1.99.0