From 925bf8618f5a6cc231b1297c17a02eb45b944bf1 Mon Sep 17 00:00:00 2001 From: Peter Jausovec Date: Mon, 20 Apr 2026 09:28:35 +0200 Subject: [PATCH 1/3] add helm chart publish Signed-off-by: Peter Jausovec --- .github/workflows/ci.yml | 3 +++ .github/workflows/release.yml | 31 +++++++++++++++++++++++------- Makefile | 36 ++++++++++++++++++++++++++++++++++- charts/agentevals/Chart.yaml | 2 +- 4 files changed, 63 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2239df..5ecac94 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,9 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Helm chart (lint + template) + run: make helm-test + - uses: astral-sh/setup-uv@v7 with: enable-cache: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 17bb180..dff9127 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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}" @@ -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 diff --git a/Makefile b/Makefile index 25ce77d..d9d1a3c 100644 --- a/Makefile +++ b/Makefile @@ -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_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 @@ -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 + +.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)" diff --git a/charts/agentevals/Chart.yaml b/charts/agentevals/Chart.yaml index 3b2b9f5..9f138a9 100644 --- a/charts/agentevals/Chart.yaml +++ b/charts/agentevals/Chart.yaml @@ -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 +version: 0.5.2 appVersion: "0.5.2" From b841722532724b6e38b7dd9e618acd527326dc2e Mon Sep 17 00:00:00 2001 From: Peter Jausovec Date: Mon, 20 Apr 2026 09:31:43 +0200 Subject: [PATCH 2/3] update version to the latest released Signed-off-by: Peter Jausovec --- charts/agentevals/Chart.yaml | 4 ++-- pyproject.toml | 2 +- uv.lock | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/agentevals/Chart.yaml b/charts/agentevals/Chart.yaml index 9f138a9..b4db547 100644 --- a/charts/agentevals/Chart.yaml +++ b/charts/agentevals/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: agentevals description: agentevals web UI, OTLP HTTP+gRPC receivers, and MCP (Streamable HTTP) type: application -version: 0.5.2 -appVersion: "0.5.2" +version: 0.7.1 +appVersion: "0.7.1" diff --git a/pyproject.toml b/pyproject.toml index 38471b8..936938c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" diff --git a/uv.lock b/uv.lock index 22c8728..8a573ec 100644 --- a/uv.lock +++ b/uv.lock @@ -30,7 +30,7 @@ wheels = [ [[package]] name = "agentevals-cli" -version = "0.5.2" +version = "0.7.1" source = { editable = "." } dependencies = [ { name = "click" }, From ef37b3feccab8180f0b43829402eaefafbb8ef48 Mon Sep 17 00:00:00 2001 From: Peter Jausovec Date: Mon, 20 Apr 2026 10:01:41 +0200 Subject: [PATCH 3/3] pr feedback Signed-off-by: Peter Jausovec --- .github/workflows/ci.yml | 9 +++++++-- Makefile | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ecac94..16b0f8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,14 +10,19 @@ permissions: contents: read jobs: - lint: + helm-chart: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - name: Helm chart (lint + template) + - name: Lint + template run: make helm-test + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: astral-sh/setup-uv@v7 with: enable-cache: true diff --git a/Makefile b/Makefile index d9d1a3c..cee2922 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ DOCKER_IMAGE_REF := $(if $(DOCKER_REGISTRY),$(DOCKER_REGISTRY:%/=%)/$(DOCKER_IMA PLATFORMS ?= linux/amd64,linux/arm64 HELM_REPO ?= oci://ghcr.io/agentevals-dev/agentevals -HELM_DIST_FOLDER ?= dist +HELM_DIST_FOLDER ?= dist/helm HELM_CHART_DIR ?= charts/agentevals HELM_CHART_OCI_URL ?= $(HELM_REPO)/helm HELM_CHART_VERSION ?= $(VERSION)