Skip to content

fix(fixtures): pack under a canonical name so the suite works on any branch - #877

Merged
PolinaGurinovich97 merged 1 commit into
release-0.14from
fix/fixtures-version-agnostic-tarball-0.14
Sep 14, 2026
Merged

PolinaGurinovich97 merged 1 commit into
release-0.14from
fix/fixtures-version-agnostic-tarball-0.14

Conversation

@PolinaGurinovich97

Copy link
Copy Markdown
Collaborator

Cherry-pick of #875 onto release-0.14. Applied without conflicts.

Why this is needed here specifically

Verify package distribution fails on every PR opened against this branch, whatever the PR contains — #873 was merged with it red. fixtures/run-all.mjs runs npm pack, which names its output after package.json#version, while all ten fixtures pin the filename literally:

"@epam/ai-dial-ui-kit": "file:../.tarballs/epam-ai-dial-ui-kit-0.0.0.tgz"

development has version 0.0.0, so the two agree and the job is green there. This branch has 0.14.0, so the tarball is packed as epam-ai-dial-ui-kit-0.14.0.tgz, nothing resolves, and the suite reports ten ENOENT failures that are really one wrong path:

npm error enoent ENOENT: no such file or directory, open
'…/fixtures/.tarballs/epam-ai-dial-ui-kit-0.0.0.tgz'

Until this lands, the gate on this branch cannot tell a real regression from its own broken path — and every further 0.14 backport starts red.

Change

The packed artifact is renamed to one canonical, version-free name — ai-dial-ui-kit.tgz — which is what all ten fixtures pin, so the version stops taking part in the path. The runner also fails loudly if the pack step leaves anything other than exactly one .tgz behind, instead of letting ten installs fail one after another.

Verification

npm run fixtures:run-all locally: all 10 fixtures pass end-to-end, built and installed from the renamed tarball. This PR's own Verify package distribution run is the release-branch proof — it is the first run of that job on this branch that exercises the fixed path.

🤖 Generated with Claude Code

…branch

`npm pack` names its output after `package.json#version` and cannot be told
otherwise, so the packed artifact is `epam-ai-dial-ui-kit-0.0.0.tgz` on
`development` and `epam-ai-dial-ui-kit-0.14.0.tgz` on `release-0.14`. Two
places pinned the `0.0.0` spelling — all ten fixture manifests and the
`--from-tarball` argument in `verify:distribution` — so on a release branch
every fixture failed to install:

    npm error enoent ENOENT: no such file or directory, open
    '…/fixtures/.tarballs/epam-ai-dial-ui-kit-0.0.0.tgz'

and `Verify package distribution` reported ten regressions that were really
one wrong path. It fails that way for any PR opened against a release branch,
which is how it surfaced on the 0.14 cherry-pick of #872.

The packed tarball is now renamed to one canonical, version-free name that
both the fixtures and the export-surface check point at, and the runner fails
loudly if the pack step leaves anything other than exactly one `.tgz` behind.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@PolinaGurinovich97
PolinaGurinovich97 force-pushed the fix/fixtures-version-agnostic-tarball-0.14 branch from d5e51d7 to eaed61c Compare September 14, 2026 20:13
@PolinaGurinovich97
PolinaGurinovich97 merged commit 159301c into release-0.14 Sep 14, 2026
11 checks passed
@PolinaGurinovich97
PolinaGurinovich97 deleted the fix/fixtures-version-agnostic-tarball-0.14 branch September 14, 2026 20:20
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