Anai-Guo is testing out helm chart functions 🚀 #2771
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Functionality test for helm chart | |
| run-name: ${{ github.actor }} is testing out helm chart functions 🚀 | |
| concurrency: | |
| group: ${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/**' | |
| - '**.py' | |
| - 'pyproject.toml' | |
| - 'helm/**' | |
| pull_request: | |
| paths: | |
| - '.github/**' | |
| - '**.py' | |
| - 'pyproject.toml' | |
| - 'helm/**' | |
| merge_group: | |
| jobs: | |
| Secure-Minimal-Example: | |
| runs-on: self-hosted | |
| steps: | |
| - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
| - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" | |
| - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
| - name: Check out repository code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | |
| - run: echo "🖥️ The workflow is now ready to test your code on the runner." | |
| - name: Helm uninstall | |
| run: | | |
| releases=$(helm list -q) | |
| if [ -n "$releases" ]; then | |
| echo "Found releases: $releases" | |
| for r in $releases; do | |
| echo "Uninstalling $r..." | |
| helm uninstall "$r" | |
| done | |
| else | |
| echo "No Helm releases found; skipping uninstall." | |
| fi | |
| # Wait until no pods remain | |
| echo "Waiting for all pods to terminate..." | |
| while kubectl get pods --no-headers 2>/dev/null | grep -q .; do | |
| sleep 5 | |
| done | |
| echo "All pods have terminated." | |
| - name: Build Helm dependencies | |
| run: | | |
| helm dependency build helm/ | |
| - name: Deploy via helm charts | |
| env: | |
| DOCKER_BUILDKIT: 1 | |
| run: | | |
| cd ${{ github.workspace }} | |
| kubectl config use-context minikube | |
| sudo sysctl fs.protected_regular=0 | |
| eval "$(minikube docker-env)" | |
| docker build --build-arg INSTALL_OPTIONAL_DEP=default -t git-act-router:ci -f docker/Dockerfile . | |
| helm install vllm ./helm -f .github/values-05-secure-vllm.yaml | |
| - name: Validate the installation and send query to the stack | |
| run: | | |
| bash .github/port-forward.sh curl-05-secure-vllm | |
| timeout-minutes: 3 | |
| - name: Archive functionality results | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| if: always() | |
| with: | |
| name: output-05-secure-vllm | |
| path: | | |
| output-05-secure-vllm/ | |
| - name: Helm uninstall | |
| run: | | |
| helm uninstall vllm | |
| sudo docker image prune -f | |
| if: always() | |
| - run: echo "🍏 This job's status is ${{ job.status }}." | |
| Two-Pods-Minimal-Example: | |
| runs-on: self-hosted | |
| needs: Secure-Minimal-Example | |
| steps: | |
| - name: Helm uninstall | |
| run: | | |
| releases=$(helm list -q) | |
| if [ -n "$releases" ]; then | |
| echo "Found releases: $releases" | |
| for r in $releases; do | |
| echo "Uninstalling $r..." | |
| helm uninstall "$r" | |
| done | |
| else | |
| echo "No Helm releases found; skipping uninstall." | |
| fi | |
| # Wait until no pods remain | |
| echo "Waiting for all pods to terminate..." | |
| while kubectl get pods --no-headers 2>/dev/null | grep -q .; do | |
| sleep 5 | |
| done | |
| echo "All pods have terminated." | |
| - name: Build Helm dependencies | |
| run: | | |
| helm dependency build helm/ | |
| - name: Deploy via helm charts | |
| run: | | |
| cd ${{ github.workspace }} | |
| helm install vllm ./helm -f .github/values-01-2pods-minimal-example.yaml | |
| - name: Validate the installation and send query to the stack | |
| run: | | |
| bash .github/port-forward.sh curl-02-two-pods | |
| timeout-minutes: 3 | |
| - name: Archive functionality results | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| if: always() | |
| with: | |
| name: output-02-two-pods | |
| path: | | |
| output-02-two-pods/ | |
| - name: Helm uninstall | |
| run: | | |
| helm uninstall vllm | |
| if: always() | |
| - run: echo "🍏 This job's status is ${{ job.status }}." | |
| Multiple-Models: | |
| runs-on: self-hosted | |
| needs: Two-Pods-Minimal-Example | |
| steps: | |
| - name: Helm uninstall | |
| run: | | |
| releases=$(helm list -q) | |
| if [ -n "$releases" ]; then | |
| echo "Found releases: $releases" | |
| for r in $releases; do | |
| echo "Uninstalling $r..." | |
| helm uninstall "$r" | |
| done | |
| else | |
| echo "No Helm releases found; skipping uninstall." | |
| fi | |
| # Wait until no pods remain | |
| echo "Waiting for all pods to terminate..." | |
| while kubectl get pods --no-headers 2>/dev/null | grep -q .; do | |
| sleep 5 | |
| done | |
| echo "All pods have terminated." | |
| - name: Build Helm dependencies | |
| run: | | |
| helm dependency build helm/ | |
| - name: Deploy via helm charts | |
| run: | | |
| helm install vllm ./helm -f .github/values-04-multiple-models.yaml | |
| - name: Validate the installation and send query to the stack | |
| run: | | |
| bash .github/port-forward.sh curl-04-multiple-models | |
| timeout-minutes: 5 | |
| - name: Archive functionality results | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| if: always() | |
| with: | |
| name: output-04-multiple-models | |
| path: | | |
| output-04-multiple-models/ | |
| - name: Helm uninstall | |
| run: | | |
| helm uninstall vllm | |
| if: always() | |
| - run: echo "🍏 This job's status is ${{ job.status }}." | |
| Minimal-Example-With-Monitoring: | |
| runs-on: self-hosted | |
| needs: Secure-Minimal-Example | |
| steps: | |
| - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
| - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" | |
| - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
| - name: Check out repository code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | |
| - run: echo "🖥️ The workflow is now ready to test your code on the runner." | |
| - name: Helm uninstall | |
| run: | | |
| releases=$(helm list -q) | |
| if [ -n "$releases" ]; then | |
| echo "Found releases: $releases" | |
| for r in $releases; do | |
| echo "Uninstalling $r..." | |
| helm uninstall "$r" | |
| done | |
| else | |
| echo "No Helm releases found; skipping uninstall." | |
| fi | |
| # Wait until no pods remain | |
| echo "Waiting for all pods to terminate..." | |
| while kubectl get pods --no-headers 2>/dev/null | grep -q .; do | |
| sleep 5 | |
| done | |
| echo "All pods have terminated." | |
| - name: Build Helm dependencies | |
| run: | | |
| helm dependency build helm/ | |
| - name: Deploy via helm charts | |
| env: | |
| DOCKER_BUILDKIT: 1 | |
| run: | | |
| cd ${{ github.workspace }} | |
| kubectl config use-context minikube | |
| sudo sysctl fs.protected_regular=0 | |
| eval "$(minikube docker-env)" | |
| docker build --build-arg INSTALL_OPTIONAL_DEP=default -t git-act-router:ci -f docker/Dockerfile . | |
| helm install vllm ./helm -f .github/values-11-monitoring.yaml | |
| - name: Validate the installation and send query to the stack | |
| run: | | |
| bash .github/port-forward.sh curl-06-monitoring | |
| timeout-minutes: 3 | |
| - name: Archive functionality results | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| if: always() | |
| with: | |
| name: curl-06-monitoring | |
| path: | | |
| output-06-monitoring/ | |
| - name: Helm uninstall | |
| run: | | |
| helm uninstall vllm | |
| sudo docker image prune -f | |
| if: always() | |
| - run: echo "🍏 This job's status is ${{ job.status }}." |