Skip to content

chore: Minor improvements and version bump #118

chore: Minor improvements and version bump

chore: Minor improvements and version bump #118

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.5.23"
jobs:
# build-images:
# strategy:
# matrix:
# chroma-version:
# [
# 0.4.9,
# 0.4.10, #pre-flight checks introduced
# 0.4.16, #multi-tenancy introduced
# 0.4.24,
# 0.5.5,
# ]
# 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.31.0]
chroma-version:
[
0.4.9,
0.4.24,
0.5.23,
]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Helm
uses: azure/[email protected]
- name: start minikube
id: minikube
uses: medyagh/setup-minikube@latest
with:
kubernetes-version: ${{ matrix.kubernetes-version }}
# - name: Build image from Dockerfile
# run: |
# eval $(minikube docker-env)
# docker build -t ghcr.io/amikos-tech/chromadb-chart/chroma:${{ matrix.chroma-version }} --build-arg CHROMA_VERSION=${{ matrix.chroma-version }} -f image/Dockerfile .
- 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 }}
- name: Wait for deployment to be ready
run: |
kubectl wait \
--for=condition=ready pod \
--selector=app.kubernetes.io/name=chromadb \
--timeout=120s
- name: Test
run: |
set -e
kubectl get pods -A
kubectl get svc -A
helm test chromadb
- name: Debug
if: failure()
run: |
kubectl get pods -A
kubectl get svc -A
kubectl logs --selector=app.kubernetes.io/name=chromadb --previous
- name: Setup tmate session
if: failure()
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true