Skip to content

feat: Removed the hnswlib reinstall at image boot #82

feat: Removed the hnswlib reinstall at image boot

feat: Removed the hnswlib reinstall at image boot #82

name: Dev Image Build and Integration test
on:
push:
branches:
- main
paths:
- charts/**
- image/**
- tests/**
pull_request_target:
branches:
- main
paths:
- charts/**
- image/**
- tests/**
workflow_dispatch:
env:
REGISTRY: ghcr.io
IMAGE_NAME: "ghcr.io/amikos-tech/chromadb-chart/chroma"
LATEST_VERSION: "0.4.20"
jobs:
build-images:
strategy:
matrix:
chroma-version:
[
0.4.3,
0.4.4,
0.4.5,
0.4.6,
0.4.7,
0.4.8,
0.4.9,
0.4.10,
0.4.11,
0.4.12,
0.4.13,
0.4.14,
0.4.20,
]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.IMAGE_NAME }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push release Docker image
uses: docker/[email protected]
if: ${{ env.LATEST_VERSION == matrix.chroma-version }}
with:
context: .
file: image/Dockerfile
push: true
platforms: linux/amd64,linux/arm64
build-args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev,${{ env.IMAGE_NAME }}:canary"
- name: Build and push release Docker image
uses: docker/[email protected]
if: ${{ env.LATEST_VERSION != matrix.chroma-version }}
with:
context: .
file: image/Dockerfile
push: true
platforms: linux/amd64,linux/arm64
labels: ${{ steps.meta.outputs.labels }}
build-args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev"
integration-test:
needs: build-images
strategy:
matrix:
kubernetes-version: [1.23.0, 1.24.0, 1.27.3, v1.28.0-rc.0]
chroma-version:
[
0.4.13,
0.4.14,
0.4.15,
0.4.16,
0.4.17,
0.4.18,
0.4.19,
0.4.20,
]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v1
with:
version: v3.4.0
- name: start minikube
id: minikube
uses: medyagh/setup-minikube@latest
with:
kubernetes-version: ${{ matrix.kubernetes-version }}
- name: Install chromadb
run: |
set -e
sleep 20
helm install chromadb ./charts/chromadb-chart --set chromadb.isPersistent=true \
--set chromadb.allowReset=true \
--set chromadb.apiVersion=${{ matrix.chroma-version }}-dev
- name: Wait for deployment to be ready
run: |
set -e
kubectl wait \
--for=condition=ready pod \
--selector=app.kubernetes.io/name=chromadb \
--timeout=120s
- name: Hearthbeat
run: |
set -e
kubectl get svc -A
curl $(minikube service chromadb --url)/api/v1