This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-ray.git


The following commit(s) were added to refs/heads/main by this push:
     new 74ec45c  Adding Datafusion Ray tests on an Kind cluster using the Helm 
chart (#35)
74ec45c is described below

commit 74ec45c01196e81835c470f5d3ba4c2bc94d9e1c
Author: Edmondo Porcu <[email protected]>
AuthorDate: Tue Oct 22 11:27:46 2024 -0400

    Adding Datafusion Ray tests on an Kind cluster using the Helm chart (#35)
    
    * Adding Datafusion Ray tests on an Kind cluster using the Helm chart
    
    * Using hardcoded hashes for actions
    
    * Pinning dependencies for main
    
    * Cheating about the semver regexp
    
    * Restored previous version of the action
    
    * Empty commit
    
    * Updated to latest version of free disk space
---
 .github/workflows/k8s.yml | 64 ++++++++++++++++++++++++++++++++++++++++++++++-
 k8s/kind-config.yaml      | 19 ++++++++++++++
 2 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/k8s.yml b/.github/workflows/k8s.yml
index 7f05cc6..7b4d0bd 100644
--- a/.github/workflows/k8s.yml
+++ b/.github/workflows/k8s.yml
@@ -20,6 +20,11 @@ on:
   push:
   pull_request:
 
+env:
+  RAY_HELM_VERSION: 1.1.0
+  PYTHON_VERSION: 3.9
+  IMAGE_REPOSITORY: ghcr.io/apache/datafusion-ray
+
 jobs:
   build:
     runs-on: ubuntu-latest
@@ -32,7 +37,7 @@ jobs:
         uses: docker/metadata-action@v5
         with:
           images: |
-            ghcr.io/apache/datafusion-ray
+            ${{ env.IMAGE_REPOSITORY }}
           tags: |
             type=ref,event=branch
             type=ref,event=pr
@@ -40,6 +45,7 @@ jobs:
             type=semver,pattern={{major}}.{{minor}}
             type=semver,pattern={{major}}
             type=sha
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v3
 
@@ -59,3 +65,59 @@ jobs:
           tags: ${{ steps.meta.outputs.tags }}
           labels: ${{ steps.meta.outputs.labels }}
           push: ${{ startsWith(github.ref, 'refs/tags/') }}
+          load: true
+
+      - name: Kind Cluster
+        uses: helm/[email protected]
+        with:
+          config: ./k8s/kind-config.yaml
+
+      - name: Free Disk Space (Ubuntu)
+        uses: jlumbroso/[email protected]
+        with:
+          # this might remove tools that are actually needed,
+          # when set to "true" but frees about 6 GB
+          tool-cache: true
+          docker-images: false
+
+      - name: Extract short SHA
+        run: |
+          SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7)
+          echo "IMAGE_TAG=sha-${SHORT_SHA}" >> "$GITHUB_ENV"
+          echo "Extracted short SHA tag: sha-${SHORT_SHA}"
+
+      - name: Load Docker image into Kind cluster
+        run: |
+          kind load docker-image ${{ env.IMAGE_REPOSITORY }}:${{ env.IMAGE_TAG 
}} -n chart-testing
+
+      - name: Install Helm
+        uses: azure/[email protected]
+        with:
+          version: "3.16.0"
+
+      - name: Deploy helm chart
+        run: |
+          helm repo add kuberay https://ray-project.github.io/kuberay-helm/
+          helm install kuberay-operator kuberay/kuberay-operator --version ${{ 
env.RAY_HELM_VERSION }}
+          helm install raycluster kuberay/ray-cluster --version ${{ 
env.RAY_HELM_VERSION }} \
+            --set image.repository=${{ env.IMAGE_REPOSITORY }} \
+            --set image.tag=${{ env.IMAGE_TAG }} \
+            --set imagePullPolicy=Always
+          echo "Deployed Ray cluster with image repository: ${{ 
env.IMAGE_REPOSITORY }} and tag: ${{ env.IMAGE_TAG }}"
+
+      - name: Set up Python
+        uses: actions/setup-python@v3
+        with:
+          python-version: ${{ env.PYTHON_VERSION }}
+
+      - name: Install python dependencies
+        run: |
+          python -m pip install --upgrade pip
+          pip install -r requirements-in.txt
+
+      - name: Submit an example ray Job
+        run: |
+          kubectl port-forward service/raycluster-kuberay-head-svc 8265:8265 &
+          export RAY_ADDRESS="http://127.0.0.1:8265";
+          pip  install "ray[default]"
+          ray job submit --working-dir ./examples/ -- python3 tips.py
diff --git a/k8s/kind-config.yaml b/k8s/kind-config.yaml
new file mode 100644
index 0000000..0979d75
--- /dev/null
+++ b/k8s/kind-config.yaml
@@ -0,0 +1,19 @@
+kind: Cluster
+apiVersion: kind.x-k8s.io/v1alpha4
+nodes:
+  - role: control-plane
+    extraMounts:
+      - hostPath: /tmp/kind-node-disk
+        containerPath: /var/lib/containerd
+  - role: worker
+    extraMounts:
+      - hostPath: /tmp/kind-node-disk1
+        containerPath: /var/lib/containerd
+  - role: worker
+    extraMounts:
+      - hostPath: /tmp/kind-node-disk2
+        containerPath: /var/lib/containerd
+  - role: worker
+    extraMounts:
+      - hostPath: /tmp/kind-node-disk3
+        containerPath: /var/lib/containerd


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to