Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ permissions:
contents: read

jobs:
helm-chart:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Lint + template
run: make helm-test

lint:
runs-on: ubuntu-latest
steps:
Expand Down
31 changes: 24 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,6 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Set appVersion in Chart.yaml
run: |
VERSION="${TAG#v}"
sed -i "s/^appVersion:.*/appVersion: \"$VERSION\"/" charts/agentevals/Chart.yaml
env:
TAG: ${{ github.event.inputs.tag || github.ref_name }}

- name: Build and push
run: |
VERSION="${TAG#v}"
Expand All @@ -129,3 +122,27 @@ jobs:
DOCKER_TAG="$VERSION"
env:
TAG: ${{ github.event.inputs.tag || github.ref_name }}

push-helm-chart:
needs: push-docker
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v6

- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Publish Helm chart to GHCR (OCI)
env:
TAG: ${{ github.event.inputs.tag || github.ref_name }}
HELM_REPO: oci://ghcr.io/${{ github.repository }}
run: |
export HELM_CHART_VERSION="${TAG#v}"
make helm-publish
36 changes: 35 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ DOCKER_IMAGE_REF := $(if $(DOCKER_REGISTRY),$(DOCKER_REGISTRY:%/=%)/$(DOCKER_IMA
# Multi-arch build (requires docker buildx). Manifest lists must be pushed — use build-docker-local for a single-arch --load.
PLATFORMS ?= linux/amd64,linux/arm64

.PHONY: build build-bundle build-docker build-ui release clean dev-backend dev-frontend dev-bundle test test-unit test-integration test-e2e
HELM_REPO ?= oci://ghcr.io/agentevals-dev/agentevals
HELM_DIST_FOLDER ?= dist/helm
HELM_CHART_DIR ?= charts/agentevals
HELM_CHART_OCI_URL ?= $(HELM_REPO)/helm
HELM_CHART_VERSION ?= $(VERSION)

.PHONY: build build-bundle build-docker build-ui release clean dev-backend dev-frontend dev-bundle test test-unit test-integration test-e2e helm-lint helm-template helm-test helm-cleanup helm-package helm-publish

build:
uv build
Expand Down Expand Up @@ -70,3 +76,31 @@ test-e2e:
clean:
rm -rf dist/ build/ src/agentevals/_static/ ui/dist/
find . -name '*.egg-info' -type d -exec rm -rf {} + 2>/dev/null || true

.PHONY: helm-lint
helm-lint:
helm lint "$(HELM_CHART_DIR)"

# Render templates to catch YAML/Helm errors (default values + ephemeralVolume disabled path).
.PHONY: helm-template
helm-template:
helm template agentevals "$(HELM_CHART_DIR)" --namespace agentevals >/dev/null
helm template agentevals "$(HELM_CHART_DIR)" --namespace agentevals \
--set ephemeralVolume.enabled=false >/dev/null

.PHONY: helm-test
helm-test: helm-lint helm-template

.PHONY: helm-cleanup
helm-cleanup:
rm -f $(HELM_DIST_FOLDER)/agentevals-*.tgz
Comment thread
peterj marked this conversation as resolved.

.PHONY: helm-package
helm-package: helm-cleanup
mkdir -p $(HELM_DIST_FOLDER)
helm package "$(HELM_CHART_DIR)" -d "$(HELM_DIST_FOLDER)" \
--version "$(HELM_CHART_VERSION)" --app-version "$(HELM_CHART_VERSION)"

.PHONY: helm-publish
helm-publish: helm-package
helm push "$(HELM_DIST_FOLDER)/agentevals-$(HELM_CHART_VERSION).tgz" "$(HELM_CHART_OCI_URL)"
4 changes: 2 additions & 2 deletions charts/agentevals/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ apiVersion: v2
name: agentevals
description: agentevals web UI, OTLP HTTP+gRPC receivers, and MCP (Streamable HTTP)
type: application
version: 0.1.0
appVersion: "0.5.2"
version: 0.7.1
appVersion: "0.7.1"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "agentevals-cli"
version = "0.5.2"
version = "0.7.1"
description = "Standalone framework to evaluate agent correctness based on portable OpenTelemetry traces"
readme = "README.md"
requires-python = ">=3.11"
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.