From ddb9fe00e7536d8ca43b6eac9f59f018a3ae03eb Mon Sep 17 00:00:00 2001 From: David Kornel Date: Wed, 8 Jan 2025 11:21:43 +0100 Subject: [PATCH] Remove ODH from skodjob infra system (#382) Signed-off-by: David Kornel --- install/ansible-navigator.yml | 2 +- .../tasks/infra-setup/prepare_access.yaml | 34 ----- install/roles/automation-hub/tasks/main.yml | 3 - .../tekton/odh-tkn-pipelines.yaml | 23 --- ...8-extend-default-metrics-allowlist.yaml.j2 | 4 +- .../infra/automation-hub-install.yaml.j2 | 2 +- .../argo/app-project/app-project.yaml | 15 -- .../open-data-hub-dependencies.yaml.j2 | 24 --- .../open-data-hub-operator.yaml.j2 | 24 --- .../open-data-hub-resources.yaml.j2 | 24 --- .../02-cluster-logging-instance.yaml.j2 | 3 - .../open-data-hub/image-changer-trigger.yaml | 62 -------- .../open-data-hub/odh-image-updater.yaml.j2 | 144 ------------------ .../open-data-hub/run/pipeline-runs.yaml | 0 .../templates/worker-machine-sets.yaml.j2 | 2 +- install/secrets/clusters.yaml | Bin 43383 -> 43272 bytes scripts/generate-odh.sh | 118 -------------- 17 files changed, 5 insertions(+), 479 deletions(-) delete mode 100644 install/roles/automation-hub/tasks/scenario-deployment/tekton/odh-tkn-pipelines.yaml delete mode 100644 install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-dependencies.yaml.j2 delete mode 100644 install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-operator.yaml.j2 delete mode 100644 install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-resources.yaml.j2 delete mode 100644 install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/image-changer-trigger.yaml delete mode 100644 install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/odh-image-updater.yaml.j2 delete mode 100644 install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/run/pipeline-runs.yaml delete mode 100755 scripts/generate-odh.sh diff --git a/install/ansible-navigator.yml b/install/ansible-navigator.yml index 45b9632d..72935ec8 100644 --- a/install/ansible-navigator.yml +++ b/install/ansible-navigator.yml @@ -11,7 +11,7 @@ ansible-navigator: - "--platform linux/amd64" environment-variables: set: - ANSIBLE_RUN_TAGS: 'infra,strimzi-infra,odh' + ANSIBLE_RUN_TAGS: 'infra,strimzi-infra' app: run mode: stdout diff --git a/install/roles/automation-hub/tasks/infra-setup/prepare_access.yaml b/install/roles/automation-hub/tasks/infra-setup/prepare_access.yaml index f7a9508c..759bcc7d 100644 --- a/install/roles/automation-hub/tasks/infra-setup/prepare_access.yaml +++ b/install/roles/automation-hub/tasks/infra-setup/prepare_access.yaml @@ -106,37 +106,3 @@ verify_ssl: no apply: true src: "{{ quay_io_secret_path }}" - -- name: "Create ODH data connection secret" - kubernetes.core.k8s: - state: present - kubeconfig: "{{ kubeconfig_path }}/{{ clusterName }}" - namespace: "default" - apply: true - definition: - apiVersion: v1 - kind: Secret - type: Opaque - metadata: - name: "odh-s3-data-connection" - annotations: - replicator.v1.mittwald.de/replicate-to-matching: "app=open-data-hub" - opendatahub.io/connection-type: s3 - openshift.io/display-name: "{{ bucketname }}" - labels: - app: open-data-hub - project: skodjob - opendatahub.io/dashboard: 'true' - opendatahub.io/managed: 'true' - data: - AWS_ACCESS_KEY_ID: "{{ aws_access_key_id | b64encode }}" - AWS_SECRET_ACCESS_KEY: "{{ aws_access_key_secret | b64encode }}" - AWS_S3_ENDPOINT: "{{ aws_endpoint | b64encode }}" - AWS_DEFAULT_REGION: "{{ aws_region | b64encode }}" - AWS_S3_BUCKET: "{{ bucketname | b64encode }}" - vars: - bucketname: "tealc-models" - loop: - - "worker-03" - loop_control: - loop_var: clusterName diff --git a/install/roles/automation-hub/tasks/main.yml b/install/roles/automation-hub/tasks/main.yml index 71199f4e..c67554c1 100644 --- a/install/roles/automation-hub/tasks/main.yml +++ b/install/roles/automation-hub/tasks/main.yml @@ -122,9 +122,6 @@ - import_tasks: scenario-deployment/tekton/strimzi-tkn-pipelines.yaml tags: [tekton-pipelines, strimzi-infra, never] -- import_tasks: scenario-deployment/tekton/odh-tkn-pipelines.yaml - tags: [tekton-pipelines, odh, never] - - import_tasks: scenario-deployment/workflows/infra-argo-workflows.yaml tags: [workflow, infra, never] diff --git a/install/roles/automation-hub/tasks/scenario-deployment/tekton/odh-tkn-pipelines.yaml b/install/roles/automation-hub/tasks/scenario-deployment/tekton/odh-tkn-pipelines.yaml deleted file mode 100644 index b6be3792..00000000 --- a/install/roles/automation-hub/tasks/scenario-deployment/tekton/odh-tkn-pipelines.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: Create ODH related Tekton pipelines - kubernetes.core.k8s: - kubeconfig: "{{ kubeconfig_path }}/{{ infra_context_name }}" - namespace: "{{ infra_ci_namespace }}" - state: present - src: "{{ item }}" - verify_ssl: no - apply: true - with_fileglob: 'templates/tekton/pipelines/open-data-hub/*.yaml*' - -- name: Sleep for 5 seconds and continue with play (wait tull everything is setup) - wait_for: - timeout: 5 - -- name: Create ODH related Tekton pipeline runs - kubernetes.core.k8s: - kubeconfig: "{{ kubeconfig_path }}/{{ infra_context_name }}" - namespace: "{{ infra_ci_namespace }}" - state: present - verify_ssl: no - apply: true - src: "templates/tekton/pipelines/open-data-hub/run/pipeline-runs.yaml" diff --git a/install/roles/automation-hub/templates/acm/08-extend-default-metrics-allowlist.yaml.j2 b/install/roles/automation-hub/templates/acm/08-extend-default-metrics-allowlist.yaml.j2 index 14dadd40..cd80693e 100644 --- a/install/roles/automation-hub/templates/acm/08-extend-default-metrics-allowlist.yaml.j2 +++ b/install/roles/automation-hub/templates/acm/08-extend-default-metrics-allowlist.yaml.j2 @@ -11,12 +11,12 @@ data: - container_cpu_usage_seconds_total - container_memory_usage_bytes matches: - - __name__=~".*(kafka|zookeeper|strimzi|jvm|argo|loki|tealc|thor|strimzi-e2e|odh-e2e).*" + - __name__=~".*(kafka|zookeeper|strimzi|jvm|argo|loki|tealc|thor|strimzi-e2e).*" uwl_metrics_list.yaml: | names: - container_memory_usage_bytes - container_cpu_usage_seconds_total - process_open_fds matches: - - __name__=~".*(kafka|zookeeper|strimzi|jvm|argo|loki|debezium|tealc|thor|strimzi-e2e|odh-e2e).*" + - __name__=~".*(kafka|zookeeper|strimzi|jvm|argo|loki|debezium|tealc|thor|strimzi-e2e).*" - container=~".*(dmt|kafka|strimzi).*" diff --git a/install/roles/automation-hub/templates/argo-workflows/workflows/infra/automation-hub-install.yaml.j2 b/install/roles/automation-hub/templates/argo-workflows/workflows/infra/automation-hub-install.yaml.j2 index 6ad9db7e..05ed1add 100644 --- a/install/roles/automation-hub/templates/argo-workflows/workflows/infra/automation-hub-install.yaml.j2 +++ b/install/roles/automation-hub/templates/argo-workflows/workflows/infra/automation-hub-install.yaml.j2 @@ -39,7 +39,7 @@ spec: git clone https://github.com/skodjob/automation-hub.git $CURRENT_DIR echo $GIT_CRYPT_SECRET | base64 -d > "$CURRENT_DIR/crypt-key" cd $CURRENT_DIR && git crypt unlock crypt-key - cd $CURRENT_DIR && ansible-playbook install/automation-hub-play.yaml --tags="infra,strimzi-infra,odh" -v + cd $CURRENT_DIR && ansible-playbook install/automation-hub-play.yaml --tags="infra,strimzi-infra" -v env: - name: GIT_CRYPT_SECRET valueFrom: diff --git a/install/roles/automation-hub/templates/argo/app-project/app-project.yaml b/install/roles/automation-hub/templates/argo/app-project/app-project.yaml index 6220e28b..c32a7ed4 100644 --- a/install/roles/automation-hub/templates/argo/app-project/app-project.yaml +++ b/install/roles/automation-hub/templates/argo/app-project/app-project.yaml @@ -71,18 +71,3 @@ spec: server: '*' sourceRepos: - '*' - ---- -apiVersion: argoproj.io/v1alpha1 -kind: AppProject -metadata: - name: open-data-hub -spec: - clusterResourceWhitelist: - - group: '*' - kind: '*' - destinations: - - namespace: '*' - server: '*' - sourceRepos: - - '*' diff --git a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-dependencies.yaml.j2 b/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-dependencies.yaml.j2 deleted file mode 100644 index ae0bc872..00000000 --- a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-dependencies.yaml.j2 +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: open-data-hub-dependencies - labels: - project: skodjob - app: open-data-hub -spec: - project: open-data-hub - source: - repoURL: https://github.com/skodjob/deployment-hub - targetRevision: HEAD - path: open-data-hub/dependencies - directory: - recurse: true - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=false - destination: - name: {{ cluster }} - namespace: opendatahub diff --git a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-operator.yaml.j2 b/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-operator.yaml.j2 deleted file mode 100644 index 3bc13188..00000000 --- a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-operator.yaml.j2 +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: open-data-hub-operator - labels: - project: skodjob - app: open-data-hub -spec: - project: open-data-hub - source: - repoURL: https://github.com/skodjob/deployment-hub - targetRevision: HEAD - path: open-data-hub/install - directory: - recurse: true - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=false - destination: - name: {{ cluster }} - namespace: opendatahub-operator-system diff --git a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-resources.yaml.j2 b/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-resources.yaml.j2 deleted file mode 100644 index 16005c15..00000000 --- a/install/roles/automation-hub/templates/argo/applications/open-data-hub/open-data-hub-resources.yaml.j2 +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: open-data-hub-resources - labels: - project: skodjob - app: open-data-hub -spec: - project: open-data-hub - source: - repoURL: https://github.com/skodjob/deployment-hub - targetRevision: HEAD - path: open-data-hub/resources - directory: - recurse: true - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=false - destination: - name: {{ cluster }} - namespace: opendatahub diff --git a/install/roles/automation-hub/templates/logging/install/cluster-logging/02-cluster-logging-instance.yaml.j2 b/install/roles/automation-hub/templates/logging/install/cluster-logging/02-cluster-logging-instance.yaml.j2 index b376d578..37735bad 100644 --- a/install/roles/automation-hub/templates/logging/install/cluster-logging/02-cluster-logging-instance.yaml.j2 +++ b/install/roles/automation-hub/templates/logging/install/cluster-logging/02-cluster-logging-instance.yaml.j2 @@ -14,9 +14,6 @@ spec: - effect: NoSchedule key: nodetype value: connect - - effect: NoSchedule - key: nodetype - value: odh - effect: NoSchedule key: nodetype value: logging diff --git a/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/image-changer-trigger.yaml b/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/image-changer-trigger.yaml deleted file mode 100644 index 6a10202a..00000000 --- a/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/image-changer-trigger.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -apiVersion: batch/v1 -kind: CronJob -metadata: - name: open-data-hub-files-update-trigger - labels: - project: skodjob -spec: - failedJobsHistoryLimit: 1 - successfulJobsHistoryLimit: 1 - schedule: "0 0 * * *" - jobTemplate: - spec: - template: - spec: - volumes: - - name: workspace - emptyDir: {} - - name: configmap-volume - configMap: - defaultMode: 0755 - name: odh-image-changer - containers: - - name: trigger - image: quay.io/tealc/tealc-ee:latest - command: - - /workspace/entrypoint.sh - volumeMounts: - - mountPath: /workspace - name: workspace - - name: configmap-volume - mountPath: /workspace/entrypoint.sh - readOnly: true - subPath: entrypoint.sh - env: - - name: WORKSPACE - value: "/workspace" - resources: - limits: - cpu: 100m - memory: 64Mi - requests: - cpu: 50m - memory: 32Mi - restartPolicy: Never - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: odh-image-changer - labels: - project: skodjob -data: - entrypoint.sh: | - #!/bin/bash - - set -x - set -e - - echo "[INFO] Going to trigger Operator images update" - curl -d '{"trigger-template": "image-update","params": {"image": "operator"}}' el-open-data-hub-files-update-event-listener.tealc-pipelines.svc.cluster.local:8080 diff --git a/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/odh-image-updater.yaml.j2 b/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/odh-image-updater.yaml.j2 deleted file mode 100644 index 4390252b..00000000 --- a/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/odh-image-updater.yaml.j2 +++ /dev/null @@ -1,144 +0,0 @@ -apiVersion: tekton.dev/v1beta1 -kind: Pipeline -metadata: - name: open-data-hub-files-update-pipeline - labels: - project: skodjob - annotations: - argocd.argoproj.io/hook: PreSync -spec: - workspaces: - - name: pipeline-ws - tasks: - - name: odh - workspaces: - - name: pipeline-ws - workspace: pipeline-ws - taskSpec: - workspaces: - - name: pipeline-ws - steps: - - name: tealc-clone - image: quay.io/wire/alpine-git - script: | - export CURRENT_DIR=$(workspaces.pipeline-ws.path)/automation-hub - git clone https://github.com/skodjob/automation-hub.git $CURRENT_DIR - - name: images-update - env: - - name: BRANCH - value: "incubation" - - name: GITHUB_USERNAME - valueFrom: - secretKeyRef: - name: github-secret - key: USERNAME - - name: GITHUB_TOKEN - valueFrom: - secretKeyRef: - name: github-secret - key: TOKEN - image: quay.io/tealc/tealc-ee:latest - script: | - $(workspaces.pipeline-ws.path)/automation-hub/scripts/generate-odh.sh - echo "[INFO] Done!" - finally: - - name: notify-slack - when: - - input: $(tasks.status) - operator: in - values: ["Failed"] - taskRef: - name: send-to-webhook-slack - params: - - name: webhook-secret - value: webhook-secret - - name: message - value: "PipelineRun `$(context.pipelineRun.name)` has status: `$(tasks.status)!`" - - name: title - value: "$(context.pipeline.name)" - - name: status - value: "$(tasks.status)" - - name: button_url - value: "{{ infra_console_url }}/k8s/ns/{{ infra_ci_namespace }}/tekton.dev~v1~PipelineRun/$(context.pipelineRun.name)" - - name: button_text - value: "Pipeline :tekton:" - ---- -apiVersion: triggers.tekton.dev/v1alpha1 -kind: TriggerTemplate -metadata: - name: open-data-hub-files-update-trigger-template - labels: - project: skodjob -spec: - params: - - name: message - description: Message from quay.io - default: empty - resourcetemplates: - - apiVersion: tekton.dev/v1beta1 - kind: PipelineRun - metadata: - generateName: open-data-hub-files-update- - labels: - app: skodjob - spec: - pipelineRef: - name: open-data-hub-files-update-pipeline - workspaces: - - name: pipeline-ws - emptyDir: {} - - ---- -apiVersion: triggers.tekton.dev/v1alpha1 -kind: TriggerBinding -metadata: - name: open-data-hub-files-update-triggerbinding - labels: - project: skodjob -spec: - params: - - name: message - value: $(body) - ---- -apiVersion: triggers.tekton.dev/v1alpha1 -kind: EventListener -metadata: - name: open-data-hub-files-update-event-listener - labels: - listener: skodjob - project: skodjob -spec: - triggers: - - name: open-data-hub-files-update-webhook - bindings: - - ref: open-data-hub-files-update-triggerbinding - template: - ref: open-data-hub-files-update-trigger-template - resources: - kubernetesResource: - spec: - template: - spec: - containers: - - resources: - limits: - memory: "64Mi" - cpu: "50m" - ---- -apiVersion: route.openshift.io/v1 -kind: Route -metadata: - name: el-open-data-hub-files-update-event-listener - labels: - project: skodjob -spec: - to: - kind: Service - name: el-open-data-hub-files-update-event-listener - weight: 100 - port: - targetPort: http-listener diff --git a/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/run/pipeline-runs.yaml b/install/roles/automation-hub/templates/tekton/pipelines/open-data-hub/run/pipeline-runs.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/install/roles/automation-hub/templates/worker-machine-sets.yaml.j2 b/install/roles/automation-hub/templates/worker-machine-sets.yaml.j2 index 20ee9773..6f83dcf0 100644 --- a/install/roles/automation-hub/templates/worker-machine-sets.yaml.j2 +++ b/install/roles/automation-hub/templates/worker-machine-sets.yaml.j2 @@ -25,7 +25,7 @@ spec: metadata: labels: nodetype: {{ node_type }} -{% if node_type != "infra" and node_type != "odh" %} +{% if node_type != "infra" %} taints: - key: nodetype value: {{ node_type }} diff --git a/install/secrets/clusters.yaml b/install/secrets/clusters.yaml index 6cd534db42f2ec7315f15d5d3e1540af61595bf0..44956977b6c1cb93c44024454098ba921b5efece 100644 GIT binary patch literal 43272 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 literal 43383 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/dev/null 2>&1 && pwd)" -source "${DIR}/common.sh" - -if [ -z "$BRANCH" ] ; then - err 'Missing BRANCH env var' >&2 - exit 1 -fi - -DIGEST=$(skopeo inspect --override-arch amd64 --override-os linux docker://quay.io/opendatahub/opendatahub-operator:${BRANCH} --format "{{ .Digest }}") -OPERATOR_IMAGE="quay.io/opendatahub/opendatahub-operator@${DIGEST}" - -WORKING_DIR=/tmp/tealc -SOKAR_REPO="https://$GITHUB_USERNAME:$GITHUB_TOKEN@github.com/skodjob/deployment-hub.git" -SOKAR_DIR="deployment-hub" -SOKAR_ODH_DIR="open-data-hub" -SOKAR_ODH_OPERATOR_DIR="${WORKING_DIR}/${SOKAR_DIR}/${SOKAR_ODH_DIR}/install" -ODH_REPO="https://github.com/opendatahub-io/opendatahub-operator.git" -ODH_DIR="odh-operator" -CRDS_ODH_REPO="https://$GITHUB_USERNAME:$GITHUB_TOKEN@github.com/skodjob/opendatahub-crds.git" -CRDS_ODH_DIR="opendatahub-crds" -ODH_E2E_SUITE_REPO="https://$GITHUB_USERNAME:$GITHUB_TOKEN@github.com/skodjob/odh-e2e.git" -ODH_E2E_SUITE_DIR="odh-e2e" - - -info "[INFO] Clearing ${WORKING_DIR}" -rm -rf ${WORKING_DIR} - -info "[INFO] Creating ${WORKING_DIR}" -mkdir -p ${WORKING_DIR} -pushd ${WORKING_DIR} - -pwd -# Checkout Sokar repo -git clone $SOKAR_REPO $SOKAR_DIR -mkdir -p ${SOKAR_ODH_OPERATOR_DIR} - -# Checkout ODH repo -git clone --branch $BRANCH $ODH_REPO $ODH_DIR - -pushd $ODH_DIR -$SED -i "s@/bin/bash@/usr/bin/env bash@" get_all_manifests.sh -./get_all_manifests.sh - -for item in $(find odh-manifests -type d -name "crd") -do - info "Working with ${item} ..." - files=$(ls $item) - if [ -n "$(ls -A ${item}/kustomization.yaml)" ] - then - kustomize build ${item} > "${WORKING_DIR}/${SOKAR_DIR}/${SOKAR_ODH_DIR}/client/${item//\//-}.yaml" - else - if [ -n "$(ls -A ${item}/external/kustomization.yaml)" ] - then - kustomize build ${item}/external > "${WORKING_DIR}/${SOKAR_DIR}/${SOKAR_ODH_DIR}/client/${item//\//-}.yaml" - else - echo "Not a kustomization folder. Skipping..." - fi - fi -done - -# Generate install files -pushd config/manager -cp -f kustomization.yaml.in kustomization.yaml -kustomize edit set image controller=${OPERATOR_IMAGE} -popd - -kustomize build config/default > ${SOKAR_ODH_OPERATOR_DIR}/deploy.yaml -info "Data generated!" - -info "Adding changes to repository" -cd "${WORKING_DIR}/${SOKAR_DIR}" -info "[INFO] Git configuration with username: ${GITHUB_USERNAME}" -git config user.email "$GITHUB_USERNAME@redhat.com" -git config user.name "$GITHUB_USERNAME" - -git add "." -CLI_CRDS_CHANGED=$(git diff --name-status --staged | { grep "open-data-hub/client" || true; }) -ODH_CRDS_CHANGED=$(git diff --staged --unified=0 | grep -Po '(?<=^\+)(?!\+\+).*' | { grep -v image || true; }) -git diff --staged --quiet || git commit -m "ODH Install files update: $($DATE '+%Y-%m-%d %T')" -git push origin "main" - -if [[ "${CLI_CRDS_CHANGED}" == *"client"* ]] || [[ "${ODH_CRDS_CHANGED}" != "" ]]; then - echo "CRDS Updated -> releasing a new version of fluent classes" - cd ${WORKING_DIR} - git clone "${CRDS_ODH_REPO}" "${CRDS_ODH_DIR}" - git clone "${ODH_E2E_SUITE_REPO}" "${ODH_E2E_SUITE_DIR}" - - cd ${CRDS_ODH_DIR} - git config user.email "$GITHUB_USERNAME@redhat.com" - git config user.name "$GITHUB_USERNAME" - mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT versions:commit - VERSION_CRDS=$(mvn -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive exec:exec -q) - git add "." - git diff --staged --quiet || git commit -m "Version bump: $($DATE '+%Y-%m-%d %T')" - git push origin "main" - - echo "Take some time to build and release package" - sleep 480 - - cd .. - cd "${ODH_E2E_SUITE_DIR}" - git config user.email "$GITHUB_USERNAME@redhat.com" - git config user.name "$GITHUB_USERNAME" - mvn versions:set-property -Dproperty=opedatahub-crds.version -DnewVersion=$VERSION_CRDS - git add "." - git diff --staged --quiet || git commit -m "Bump version of opendatahub-crds dependency: $($DATE '+%Y-%m-%d %T')" - git push origin "main" - cd .. -fi - -info "Cleaning ${WORKING_DIR}" -rm -rf ${WORKING_DIR} -exit 0