diff --git a/.github/bin/check-bundle-version.sh b/.github/bin/check-bundle-version.sh index ab2b69075..84ff99cfd 100755 --- a/.github/bin/check-bundle-version.sh +++ b/.github/bin/check-bundle-version.sh @@ -19,13 +19,17 @@ if [ -z "${ROOT_PROJECT_DIR}" ]; then ROOT_PROJECT_DIR=$(dirname "$(dirname "${BASE_DIR}")") fi -CSV_KUBERNETES_NEW="bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml" -CSV_KUBERNETES_CURRENT=https://raw.githubusercontent.com/eclipse-che/che-operator/main/deploy/olm-catalog/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml +CSV_KUBERNETES_NEXT_NEW="bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml" +CSV_KUBERNETES_NEXT_CURRENT=https://raw.githubusercontent.com/eclipse-che/che-operator/main/bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml -CSV_OPENSHIFT_NEW="bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml" -CSV_OPENSHIFT_CURRENT=https://raw.githubusercontent.com/eclipse-che/che-operator/main/deploy/olm-catalog/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml +CSV_OPENSHIFT_NEXT_NEW="bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml" +CSV_OPENSHIFT_NEXT_CURRENT=https://raw.githubusercontent.com/eclipse-che/che-operator/main/bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml -checkNextBundleVersions() { +CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW="bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml" +CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_CURRENT=https://raw.githubusercontent.com/eclipse-che/che-operator/main/bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml + + +compareBundleVersions() { git remote add operator https://github.com/eclipse-che/che-operator.git git fetch operator -q git fetch origin -q @@ -37,10 +41,13 @@ checkNextBundleVersions() { for file in "${changedFiles[@]}" do echo "[INFO] Changed file: $file" - if [[ "${CSV_KUBERNETES_NEW}" == "${file}" ]]; then - compareVersions ${ROOT_PROJECT_DIR}/$CSV_KUBERNETES_NEW $CSV_KUBERNETES_CURRENT - elif [[ "${CSV_OPENSHIFT_NEW}" == "${file}" ]]; then - compareVersions ${ROOT_PROJECT_DIR}/$CSV_OPENSHIFT_NEW $CSV_OPENSHIFT_CURRENT + + if [[ "${file}" == "${CSV_KUBERNETES_NEXT_NEW}" ]]; then + compareVersions ${ROOT_PROJECT_DIR}/$CSV_KUBERNETES_NEXT_NEW $CSV_KUBERNETES_NEXT_CURRENT + elif [[ "${file}" == "${CSV_OPENSHIFT_NEXT_NEW}" ]]; then + compareVersions ${ROOT_PROJECT_DIR}/$CSV_OPENSHIFT_NEXT_NEW $CSV_OPENSHIFT_NEXT_CURRENT + elif [[ "${file}" == "${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW}" ]]; then + compareVersions ${ROOT_PROJECT_DIR}/$CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW $CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_CURRENT fi done } @@ -62,9 +69,34 @@ compareVersions() { fi } +checkBundleVersions() { + versionWithoutNext="$${nextVersion%.next*}" + CSV_KUBERNETES_NEXT_NEW_VERSION=$(yq -r ".spec.version" ${CSV_KUBERNETES_NEXT_NEW}) + CSV_KUBERNETES_NEXT_NEW_VERSION=${CSV_KUBERNETES_NEXT_NEW_VERSION%.next*} + + CSV_OPENSHIFT_NEXT_NEW_VERSION=$(yq -r ".spec.version" ${CSV_OPENSHIFT_NEXT_NEW}) + CSV_OPENSHIFT_NEXT_NEW_VERSION=${CSV_OPENSHIFT_NEXT_NEW_VERSION%.next*} + + CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION=$(yq -r ".spec.version" ${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW}) + CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION=${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION%.next*} + + if [[ ${CSV_KUBERNETES_NEXT_NEW_VERSION} != ${CSV_OPENSHIFT_NEXT_NEW_VERSION} ]] \ + || [[ ${CSV_KUBERNETES_NEXT_NEW_VERSION} != ${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION} ]] \ + || [[ ${CSV_OPENSHIFT_NEXT_NEW_VERSION} != ${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION} ]]; then + + echo "[ERROR] CSVs have different version" + echo "[ERROR] Kubernetes next channel CSV version: ${CSV_KUBERNETES_NEXT_NEW_VERSION}" + echo "[ERROR] OpenShift next channel CSV version: ${CSV_OPENSHIFT_NEXT_NEW_VERSION}" + echo "[ERROR] OpenShift next-all-namespaces channel CSV version: ${CSV_OPENSHIFT_NEXT_ALL_NAMESPACES_NEW_VERSION}" + exit 1 + fi + + echo "[INFO] All CSVs have the same version: ${CSV_KUBERNETES_NEXT_NEW_VERSION}" +} + convertVersionToNumber() { version=$1 # 7.28.1-130.next - versionWithoutNext="${version%.next}" # 7.28.1-130 + versionWithoutNext="${version%.next*}" # 7.28.1-130 version="${versionWithoutNext%-*}" # 7.28.1 incrementPart="${versionWithoutNext#*-}" # 130 major=$(echo $version | cut -d '.' -f 1) # 7 @@ -75,6 +107,7 @@ convertVersionToNumber() { echo $((major * 100000000 + minor * 100000 + bugfix * 10000 + incrementPart)) } -checkNextBundleVersions +compareBundleVersions +checkBundleVersions echo "[INFO] Done." diff --git a/Makefile b/Makefile index 0d4b214e1..4abbe7747 100644 --- a/Makefile +++ b/Makefile @@ -730,7 +730,7 @@ increment-next-version: CSV="$${OPM_BUNDLE_MANIFESTS_DIR}/che-operator.clusterserviceversion.yaml" currentNextVersion=$$(yq -r ".spec.version" "$${CSV}") - echo "[INFO] current next $(platform) version: $${currentNextVersion}" + echo "[INFO] Current next $(platform) version: $${currentNextVersion}" incrementPart=$$($(MAKE) get-next-version-increment nextVersion="$${currentNextVersion}" -s) @@ -749,7 +749,7 @@ increment-next-version: echo "$${STABLE_MINOR_VERSION}" incrementPart=$$((incrementPart+1)) - newVersion="$${STABLE_MAJOR_VERSION}.$${STABLE_MINOR_VERSION}.0-$${incrementPart}.next" + newVersion="$${STABLE_MAJOR_VERSION}.$${STABLE_MINOR_VERSION}.0-$${incrementPart}.$(channel)" echo "[INFO] Set up next $(platform) version: $${newVersion}" yq -rY "(.spec.version) = \"$${newVersion}\" | (.metadata.name) = \"eclipse-che-preview-$(platform).v$${newVersion}\"" "$${CSV}" > "$${CSV}.old" @@ -773,12 +773,9 @@ get-next-version-increment: exit 1 fi - versionWithoutNext="$${nextVersion%.next}" - + versionWithoutNext="$${nextVersion%.next*}" version="$${versionWithoutNext%-*}" - incrementPart="$${versionWithoutNext#*-}" - echo "$${incrementPart}" update-resources: SHELL := /bin/bash diff --git a/bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml b/bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml index 7181396e8..5b794c63c 100644 --- a/bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml +++ b/bundle/next-all-namespaces/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml @@ -126,7 +126,7 @@ metadata: operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/eclipse-che/che-operator support: Eclipse Foundation - name: eclipse-che-preview-openshift.v7.40.0-374.next + name: eclipse-che-preview-openshift.v7.40.0-376.next-all-namespaces namespace: placeholder spec: apiservicedefinitions: {} @@ -847,6 +847,17 @@ spec: - subjectaccessreviews verbs: - create + - apiGroups: + - "" + resourceNames: + - workspace-preferences-configmap + resources: + - configmaps + verbs: + - create + - delete + - get + - patch - apiGroups: - "" resources: @@ -882,6 +893,7 @@ spec: - create - delete - get + - patch - apiGroups: - "" resources: @@ -1427,4 +1439,4 @@ spec: maturity: stable provider: name: Eclipse Foundation - version: 7.40.0-374.next + version: 7.40.0-376.next-all-namespaces diff --git a/bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml b/bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml index 9a1a2db74..8c8a525ec 100644 --- a/bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml +++ b/bundle/next/eclipse-che-preview-kubernetes/manifests/che-operator.clusterserviceversion.yaml @@ -133,7 +133,7 @@ metadata: operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/eclipse-che/che-operator support: Eclipse Foundation - name: eclipse-che-preview-kubernetes.v7.40.0-335.next + name: eclipse-che-preview-kubernetes.v7.40.0-376.next namespace: placeholder spec: apiservicedefinitions: {} @@ -834,6 +834,17 @@ spec: - subjectaccessreviews verbs: - create + - apiGroups: + - "" + resourceNames: + - workspace-preferences-configmap + resources: + - configmaps + verbs: + - create + - delete + - get + - patch - apiGroups: - "" resources: @@ -869,6 +880,7 @@ spec: - create - delete - get + - patch - apiGroups: - "" resources: @@ -1394,4 +1406,4 @@ spec: maturity: stable provider: name: Eclipse Foundation - version: 7.40.0-335.next + version: 7.40.0-376.next diff --git a/bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml b/bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml index d0afb7ec1..8af76695b 100644 --- a/bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml +++ b/bundle/next/eclipse-che-preview-openshift/manifests/che-operator.clusterserviceversion.yaml @@ -126,7 +126,7 @@ metadata: operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/eclipse-che/che-operator support: Eclipse Foundation - name: eclipse-che-preview-openshift.v7.40.0-342.next + name: eclipse-che-preview-openshift.v7.40.0-376.next namespace: placeholder spec: apiservicedefinitions: {} @@ -847,6 +847,17 @@ spec: - subjectaccessreviews verbs: - create + - apiGroups: + - "" + resourceNames: + - workspace-preferences-configmap + resources: + - configmaps + verbs: + - create + - delete + - get + - patch - apiGroups: - "" resources: @@ -882,6 +893,7 @@ spec: - create - delete - get + - patch - apiGroups: - "" resources: @@ -1427,4 +1439,4 @@ spec: maturity: stable provider: name: Eclipse Foundation - version: 7.40.0-342.next + version: 7.40.0-376.next diff --git a/config/rbac/cluster_role.yaml b/config/rbac/cluster_role.yaml index f4a41e7a4..9caa4678d 100644 --- a/config/rbac/cluster_role.yaml +++ b/config/rbac/cluster_role.yaml @@ -450,6 +450,17 @@ rules: verbs: - create # devworkspace-controller-role.ClusterRole.yaml + - apiGroups: + - "" + resourceNames: + - workspace-preferences-configmap + resources: + - configmaps + verbs: + - create + - delete + - get + - patch - apiGroups: - "" resources: @@ -485,6 +496,7 @@ rules: - create - delete - get + - patch - apiGroups: - "" resources: