Skip to content

Commit a4dc0c8

Browse files
authored
Merge pull request #124 from agentevals-dev/peterj/publishhelmchart
publish agentevals helm chart
2 parents 572321b + ef37b3f commit a4dc0c8

6 files changed

Lines changed: 71 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ permissions:
1010
contents: read
1111

1212
jobs:
13+
helm-chart:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v6
17+
18+
- name: Lint + template
19+
run: make helm-test
20+
1321
lint:
1422
runs-on: ubuntu-latest
1523
steps:

.github/workflows/release.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,6 @@ jobs:
114114
- name: Set up Docker Buildx
115115
uses: docker/setup-buildx-action@v4
116116

117-
- name: Set appVersion in Chart.yaml
118-
run: |
119-
VERSION="${TAG#v}"
120-
sed -i "s/^appVersion:.*/appVersion: \"$VERSION\"/" charts/agentevals/Chart.yaml
121-
env:
122-
TAG: ${{ github.event.inputs.tag || github.ref_name }}
123-
124117
- name: Build and push
125118
run: |
126119
VERSION="${TAG#v}"
@@ -129,3 +122,27 @@ jobs:
129122
DOCKER_TAG="$VERSION"
130123
env:
131124
TAG: ${{ github.event.inputs.tag || github.ref_name }}
125+
126+
push-helm-chart:
127+
needs: push-docker
128+
runs-on: ubuntu-latest
129+
permissions:
130+
contents: read
131+
packages: write
132+
steps:
133+
- uses: actions/checkout@v6
134+
135+
- name: Login to GitHub Container Registry
136+
uses: docker/login-action@v4
137+
with:
138+
registry: ghcr.io
139+
username: ${{ github.actor }}
140+
password: ${{ secrets.GITHUB_TOKEN }}
141+
142+
- name: Publish Helm chart to GHCR (OCI)
143+
env:
144+
TAG: ${{ github.event.inputs.tag || github.ref_name }}
145+
HELM_REPO: oci://ghcr.io/${{ github.repository }}
146+
run: |
147+
export HELM_CHART_VERSION="${TAG#v}"
148+
make helm-publish

Makefile

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@ DOCKER_IMAGE_REF := $(if $(DOCKER_REGISTRY),$(DOCKER_REGISTRY:%/=%)/$(DOCKER_IMA
99
# Multi-arch build (requires docker buildx). Manifest lists must be pushed — use build-docker-local for a single-arch --load.
1010
PLATFORMS ?= linux/amd64,linux/arm64
1111

12-
.PHONY: build build-bundle build-docker build-ui release clean dev-backend dev-frontend dev-bundle test test-unit test-integration test-e2e
12+
HELM_REPO ?= oci://ghcr.io/agentevals-dev/agentevals
13+
HELM_DIST_FOLDER ?= dist/helm
14+
HELM_CHART_DIR ?= charts/agentevals
15+
HELM_CHART_OCI_URL ?= $(HELM_REPO)/helm
16+
HELM_CHART_VERSION ?= $(VERSION)
17+
18+
.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
1319

1420
build:
1521
uv build
@@ -70,3 +76,31 @@ test-e2e:
7076
clean:
7177
rm -rf dist/ build/ src/agentevals/_static/ ui/dist/
7278
find . -name '*.egg-info' -type d -exec rm -rf {} + 2>/dev/null || true
79+
80+
.PHONY: helm-lint
81+
helm-lint:
82+
helm lint "$(HELM_CHART_DIR)"
83+
84+
# Render templates to catch YAML/Helm errors (default values + ephemeralVolume disabled path).
85+
.PHONY: helm-template
86+
helm-template:
87+
helm template agentevals "$(HELM_CHART_DIR)" --namespace agentevals >/dev/null
88+
helm template agentevals "$(HELM_CHART_DIR)" --namespace agentevals \
89+
--set ephemeralVolume.enabled=false >/dev/null
90+
91+
.PHONY: helm-test
92+
helm-test: helm-lint helm-template
93+
94+
.PHONY: helm-cleanup
95+
helm-cleanup:
96+
rm -f $(HELM_DIST_FOLDER)/agentevals-*.tgz
97+
98+
.PHONY: helm-package
99+
helm-package: helm-cleanup
100+
mkdir -p $(HELM_DIST_FOLDER)
101+
helm package "$(HELM_CHART_DIR)" -d "$(HELM_DIST_FOLDER)" \
102+
--version "$(HELM_CHART_VERSION)" --app-version "$(HELM_CHART_VERSION)"
103+
104+
.PHONY: helm-publish
105+
helm-publish: helm-package
106+
helm push "$(HELM_DIST_FOLDER)/agentevals-$(HELM_CHART_VERSION).tgz" "$(HELM_CHART_OCI_URL)"

charts/agentevals/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: agentevals
33
description: agentevals web UI, OTLP HTTP+gRPC receivers, and MCP (Streamable HTTP)
44
type: application
5-
version: 0.1.0
6-
appVersion: "0.5.2"
5+
version: 0.7.1
6+
appVersion: "0.7.1"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "agentevals-cli"
7-
version = "0.5.2"
7+
version = "0.7.1"
88
description = "Standalone framework to evaluate agent correctness based on portable OpenTelemetry traces"
99
readme = "README.md"
1010
requires-python = ">=3.11"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)