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
114 changes: 114 additions & 0 deletions .github/workflows/sync-helm-chart-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Sync Helm chart docs
# Description: Sync the generated Helm values reference for a released chart version.
# Flow:
# 1) Pull the published chart from the public OCI registry
# 2) Extract the values reference and example overlays into the docs
# 3) Regenerate public/llms.txt so the automation PR is self-contained
# 4) Open a PR for that chart version
#
# Opens the PR with GITHUB_TOKEN. That does not start other workflows, so this
# job generates llms.txt here instead of depending on llmstxt.yml to fire.

on:
repository_dispatch:
types: [helm_chart_published]
workflow_dispatch:
inputs:
version:
description: "Exact Arcade Helm chart version to sync (for example 1.12.0)"
required: true
type: string

permissions:
contents: write
pull-requests: write

concurrency:
group: sync-helm-chart-docs-${{ github.event.client_payload.version || inputs.version }}
cancel-in-progress: false

jobs:
sync:
runs-on: ubuntu-latest
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
VERSION: ${{ github.event.client_payload.version || inputs.version }}
CHART_REF: oci://public.ecr.aws/s5i6x9d1/charts/arcade

steps:
- name: Validate version
run: |
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then
echo "::error::Invalid version: $VERSION"
exit 1
fi

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Install Helm
uses: azure/setup-helm@v4

# The monorepo dispatches this workflow right after it pushes the chart,
# but the registry can take a few minutes to serve the new version.
- name: Pull chart
run: |
for attempt in $(seq 1 10); do
if helm pull "$CHART_REF" --version "$VERSION" --untar --untardir "$RUNNER_TEMP/chart"; then
echo "Pulled chart $VERSION"
exit 0
fi
echo "Attempt $attempt: chart $VERSION not available yet, retrying in 30s"
sleep 30
done
echo "::error::Chart $VERSION did not become available within 5 minutes"
exit 1

- name: Sync values reference and examples
run: pnpm exec tsx scripts/sync-helm-chart-docs.ts --chart-dir "$RUNNER_TEMP/chart/arcade" --version "$VERSION"

# GITHUB_TOKEN PRs do not start llmstxt.yml, so generate the file here.
- name: Generate llms.txt
run: pnpm llmstxt
Comment thread
cursor[bot] marked this conversation as resolved.
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

- name: Create pull request
id: cpr
uses: peter-evans/create-pull-request@v7
env:
HUSKY: 0
with:
token: ${{ github.token }}
commit-message: "[AUTO] Helm chart ${{ env.VERSION }} values reference"
title: "[AUTO] Helm chart ${{ env.VERSION }} values reference"
body: |
This PR syncs the generated values reference for Arcade Helm chart `${{ env.VERSION }}`.

- Chart version: `${{ env.VERSION }}`
- Trigger: `${{ github.event_name }}`
- Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
branch: automation/helm-chart-docs-${{ env.VERSION }}
delete-branch: true

- name: Request team review
if: steps.cpr.outputs.pull-request-number != ''
continue-on-error: true
run: gh pr edit "$PR_NUMBER" --add-reviewer ArcadeAI/engineering-tools-and-dx
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ steps.cpr.outputs.pull-request-number }}
973 changes: 973 additions & 0 deletions app/en/operate/deploy/helm/_chart/1.11.2/values.md

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions app/en/operate/deploy/helm/_meta.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type { MetaRecord } from "nextra";

export const meta: MetaRecord = {
"values-reference": {
title: "Values reference",
},
};

export default meta;
2 changes: 1 addition & 1 deletion app/en/operate/deploy/helm/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Configure the platform through Helm values. The chart covers:
- **Telemetry** — OpenTelemetry (OTLP) logs, metrics, and traces

<Callout type="info">
The full, versioned values reference lives on [Artifact Hub](https://artifacthub.io/packages/helm/arcade/arcade). Use it as the source of truth for every value and default.
The [Helm values reference](/operate/deploy/helm/values-reference) lists every value and default, generated from each chart release. Use it as the source of truth.
</Callout>

## Upgrade and roll back
Expand Down
Loading
Loading