Skip to content

fix(static-site): resolve vendored common subchart dependency (unblocks Release) - #235

Merged
darkobas2 merged 1 commit into
masterfrom
fix/static-site-vendored-common-dependency
Aug 12, 2026
Merged

fix(static-site): resolve vendored common subchart dependency (unblocks Release)#235
darkobas2 merged 1 commit into
masterfrom
fix/static-site-vendored-common-dependency

Conversation

@darkobas2

@darkobas2 darkobas2 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Problem

The Release workflow has failed on every push to master since 2026-08-02:

Error: directory /home/runner/work/helm/helm/charts/common not found

chart-releaser runs helm dependency update, which tries to resolve
static-site's dependency on the common library chart. Chart.yaml carried
upstream's repository: file://../common — a path that points at a sibling
charts/common directory in the onechart monorepo. No such directory exists in
this repo, so resolution fails and the release job aborts for every chart,
not just static-site.

The subchart was vendored, but as a packaged charts/common-0.7.0.tgz. That
satisfies helm template and helm install — which is why deployments kept
working and this went unnoticed for ten days — but not dependency resolution.

Today's merge of #234 didn't cause this; it was simply the first push to
master since the breakage, so it surfaced it.

Fix

Match the convention beeport-ui already uses in this repo:

  • repository: file://../commonrepository: file://charts/common
  • vendor the subchart as an unpacked charts/common/ directory instead of a tarball

Verification

Against a clean clone:

Check Before After
helm dependency update fails passes, idempotent on repeat runs
helm lint passes passes
helm package passes
helm template 2 objects 2 objects, diff identical

No template or values changes. Chart version is bumped 0.73.0 -> 0.73.1
because chart-testing enforces a version bump on any modified chart; the only
resulting difference in rendered output is the helm.sh/chart label.
PROVENANCE.md records that templates remain upstream v0.73.0 verbatim.

Also included

chart-testing had never run against this chart — the original vendoring
was pushed straight to master without a PR — so it surfaced three further
gates the moment the chart counted as changed:

  • version bump required by ct for any modified chart (0.73.0 -> 0.73.1)
  • yamllint: two trailing-whitespace occurrences in the vendored values.yaml
  • maintainers/home/icon metadata, which upstream shipped without and every
    other chart here carries
  • ci/ct-values.yaml: the defaults clone an archived org's demo app and run
    a full npm install && npm run build, so ct install crash-looped the init
    container. The CI values clone this repository and emit a trivial asset,
    exercising the same clone -> build -> copy path. buildImage stays at the
    chart's default node:latest, so no new image dependency.

Origin

Introduced in d631deb ("feat(static-site): vendor onechart static-site chart
v0.73.0") — the packaged subchart was copied across but upstream's file://
path was left pointing at a layout that doesn't exist here.

@darkobas2
darkobas2 force-pushed the fix/static-site-vendored-common-dependency branch 3 times, most recently from 8d4ac46 to 78de235 Compare August 12, 2026 08:04
The Release workflow has failed on every push to master since 2026-08-02
with:

    Error: directory /home/runner/work/helm/helm/charts/common not found

chart-releaser runs `helm dependency update`, which tries to resolve
static-site's dependency on the common library chart. Chart.yaml carried
upstream's `repository: file://../common`, which points at a sibling
`charts/common` directory in the onechart monorepo. No such directory
exists here, so resolution fails and the whole release job aborts - not
just for static-site, but for every chart in the repo.

The subchart was vendored as a packaged `charts/common-0.7.0.tgz`. That is
enough for `helm template` and `helm install`, which is why deployments
were unaffected and the breakage went unnoticed, but it does not satisfy
dependency resolution.

Fixed by matching the convention beeport-ui already uses in this repo:
declare `repository: file://charts/common` and vendor the subchart as an
unpacked directory rather than a tarball.

Verified against a clean clone:
  - helm dependency update  - previously failed, now succeeds, and is
                              idempotent across repeated runs
  - helm lint               - passes
  - helm package            - passes
  - helm template           - byte-for-byte identical output to before

No template or values changes. Chart version is bumped 0.73.0 -> 0.73.1
because chart-testing requires a bump for any modified chart; the only
resulting difference in rendered output is the helm.sh/chart label.
PROVENANCE.md records that templates remain upstream v0.73.0 verbatim.

Also adds charts/static-site/ci/ct-values.yaml. The chart's default values
clone an archived org's demo app and run a full `npm install && npm run
build`, so `ct install` crash-loops the init container and can never pass.
The CI values clone this repository and emit a trivial asset, exercising the
same clone -> build -> copy path. This was never caught because the original
vendoring was pushed straight to master without a PR, so chart-testing had
never run against this chart.

Introduced in d631deb ("feat(static-site): vendor onechart static-site
chart v0.73.0").

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@darkobas2
darkobas2 force-pushed the fix/static-site-vendored-common-dependency branch from 78de235 to fc886fd Compare August 12, 2026 08:13
@darkobas2
darkobas2 merged commit 2f69282 into master Aug 12, 2026
1 check passed
@darkobas2
darkobas2 deleted the fix/static-site-vendored-common-dependency branch August 12, 2026 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant