Agent Skill · Apollo Config

apollo-helm-chart-release

Run Apollo Helm chart release workflow with local automation and publish confirmation gates. Use when apollo-helm-chart version/appVersion updates require packaging both charts, refreshing docs/index.yaml, validating whitelist changes, committing with Conventional Commit, and preparing a ready-for-review PR draft.

Provider: Apollo Config Path in repo: apollo-helm-chart-release/SKILL.md

Skill body

Apollo Helm Chart Release

Run this skill when you need to publish a new Helm chart release for apolloconfig/apollo-helm-chart after chart version updates.

Workflow Contract

Command Entry

Run from apollo-helm-chart repository root:

python3 scripts/release_flow.py run \
  [--allow-version-mismatch] \
  [--skip-lint] \
  [--dry-run]

When executing manually outside the skill runner, use the absolute script path under this skill directory.

Options

Step Mapping

  1. Preflight
    • Verify repository layout:
      • apollo-portal/Chart.yaml
      • apollo-service/Chart.yaml
      • docs/index.yaml
    • Verify required tools:
      • required: git, helm
      • warning-only for later gate: gh
    • Verify remote includes apolloconfig/apollo-helm-chart.
    • Verify repository root has no stale *.tgz.
  2. Trigger Detection
    • Check git diff HEAD -- apollo-portal/Chart.yaml apollo-service/Chart.yaml.
    • If diff contains version or appVersion changes, continue.
    • If diff does not contain those fields:
      • compare current chart version to latest version in docs/index.yaml.
      • if docs is behind on any chart, continue with warning.
      • otherwise stop with “no version change and docs not behind”.
  3. Consistency Check
    • Enforce portal/service version and appVersion equality.
    • Allow explicit override only via --allow-version-mismatch.
  4. Validation
    • Run:
      • helm lint apollo-portal
      • helm lint apollo-service
    • Stop on any failure.
  5. Package + Index (raw command style)
    • Run in repo root:
      • helm package apollo-portal
      • helm package apollo-service
      • mv *.tgz docs
    • Run in docs:
      • helm repo index .
  6. Whitelist Check
    • Read git status --porcelain.
    • Allow changed files only:
      • apollo-portal/Chart.yaml
      • apollo-service/Chart.yaml
      • docs/index.yaml
      • docs/apollo-portal-*.tgz
      • docs/apollo-service-*.tgz
    • Stop when any other file is changed.
  7. Branch + Commit
    • Branch naming:
      • same chart versions: codex/helm-release-<version>
      • different chart versions: codex/helm-release-<portal-version>-<service-version>
    • Branch strategy:
      • reuse when already on target branch
      • otherwise checkout existing branch or create new branch
    • Commit message format:
      • title: chore(charts): release helm charts (portal <pver>, service <sver>)
      • body:
    • portal appVersion: <papp>
    • service appVersion: <sapp>
  8. Publish Gates (manual confirmation only)
    • Output push gate command:
      • git push -u origin <branch>
    • Output PR gate command:
      • gh pr create --title "<title>" --body-file "<temp-file>"
    • Default PR state is ready-for-review (no --draft).
    • PR body uses references/pr-template.md.

Scripts

References

Operational Notes