# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # name: Integration Test on: push: branches: - main - branch-* pull_request: branches: - main - branch-* env: MINIKUBE_VERSION: v1.29.0 KUBERNETES_VERSION: v1.26.1 jobs: celeborn_integration_test: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v2 name: Setup JDK with Maven with: distribution: zulu java-version: 8 cache: maven check-latest: false - name: Build Celeborn Binary run: ./build/make-distribution.sh -Pspark-3.3 -Pgoogle-mirror - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Build Celeborn Docker Image uses: docker/build-push-action@v2 with: context: ./dist file: ./docker/Dockerfile load: true tags: apache/celeborn:latest - name: Setup Helm uses: azure/setup-helm@v3 with: version: v3.10.0 - name: Setup Minikube run: | # https://minikube.sigs.k8s.io/docs/start/ curl -LO https://github.com/kubernetes/minikube/releases/download/${MINIKUBE_VERSION}/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube minikube start --cpus 2 --memory 4096 --kubernetes-version=${KUBERNETES_VERSION} --force - name: Deploy Celeborn run: | # https://minikube.sigs.k8s.io/docs/handbook/pushing/#7-loading-directly-to-in-cluster-container-runtime minikube image load apache/celeborn:latest helm install celeborn charts/celeborn -f ./tests/kubernetes-it/docker/helm/values.yaml - name: Wait Celeborn Ready run: >- ./build/mvn clean install -Pkubernetes-it -Pspark-3.3 -Dtest=none -DwildcardSuites=org.apache.celeborn.integration.DeploySuite