Skip to content

chore: bump chart baseline to Chroma 1.5.3 (#139) (#140) #212

chore: bump chart baseline to Chroma 1.5.3 (#139) (#140)

chore: bump chart baseline to Chroma 1.5.3 (#139) (#140) #212

name: Integration test
on:
push:
branches:
- main
paths:
- charts/**
- tests/**
- .github/workflows/integration-test.yml
pull_request:
branches:
- main
- '**'
paths:
- charts/**
- tests/**
- .github/workflows/integration-test.yml
workflow_dispatch:
env:
LATEST_VERSION: "1.5.3"
jobs:
integration-test:
strategy:
matrix:
kubernetes-version: [1.28.0, 1.33.1, 1.35.1]
chroma-version:
[
0.6.3,
1.5.3,
]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Helm
uses: azure/setup-helm@v4.2.0
- name: start minikube
id: minikube
uses: medyagh/setup-minikube@latest
with:
kubernetes-version: ${{ matrix.kubernetes-version }}
- name: Install chromadb
run: |
set -euo pipefail
sleep 20
EXTRA_ARGS=()
if [ "${{ matrix.chroma-version }}" = "${{ env.LATEST_VERSION }}" ]; then
EXTRA_ARGS+=(
--set chromadb.extraConfig.scorecard_enabled=true
--set chromadb.extraConfig.circuit_breaker.requests=500
)
fi
helm install chromadb ./charts/chromadb-chart \
--set chromadb.isPersistent=true \
--set chromadb.allowReset=true \
--set "chromadb.apiVersion=${{ matrix.chroma-version }}" \
"${EXTRA_ARGS[@]}"
- name: Wait for deployment to be ready
run: |
set -euo pipefail
kubectl wait \
--for=condition=ready pod \
--selector=app.kubernetes.io/name=chromadb \
--timeout=120s
- name: Verify extraConfig is present in v1-config
if: ${{ matrix.chroma-version == env.LATEST_VERSION }}
run: |
set -euo pipefail
config="$(kubectl get configmap v1-config -o go-template='{{ index .data "config.yaml" }}')"
printf '%s\n' "$config"
printf '%s\n' "$config" | grep -q '^scorecard_enabled: true$'
printf '%s\n' "$config" | grep -q '^circuit_breaker:$'
printf '%s\n' "$config" | grep -q '^ requests: 500$'
- name: Test
run: |
set -euo pipefail
kubectl get pods -A
kubectl get svc -A
helm test chromadb
- name: Debug
if: failure()
run: |
set -euo pipefail
kubectl get pods -A
kubectl get svc -A
kubectl logs --selector=app.kubernetes.io/name=chromadb --previous || true
- name: Setup tmate session
if: failure() && github.event_name == 'workflow_dispatch'
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true