MetaMask / MetaMask/core

Preview build publishing workflow in a topic PR may fail if release PR has been merged to `main` but new version has not been published yet

Open
#5,308 2 comments 0 reactions 0 assignees View on GitHub
bug team-wallet-framework wf-bugs
Dominant language
TypeScript
Stars
413
Forks
308
Avg merge
1d 4h
Merged PRs (30d)
253

Description

If you merge a release PR that bumps the version of a package that has dependents such as `@metamask/base-controller`, but you do not approve the release yet (i.e., the new version is not published), then when you open a PR and attempt to publish preview builds, the workflow will fail during the step that changes all of the workspace package names to their preview equivalent. Because of this, Yarn attempts to resolve dependencies to their published version instead of their local version, and when it does this, it isn't able to find the published version.

To fix this, we could consider overwriting all interdependencies to use the preview build versions by renaming them from `@metamask/` to `@metamask-previews/` and adjusting their versions.

Contributor guide

No contributing guide indexed for this repository

Research direction

Trace the preview build publishing workflow to the step that renames workspace package names, then inspect how Yarn resolves dependent workspace packages after a release PR is merged but unpublished. Reproduce the failure with that release state and verify that preview publishing resolves local preview dependencies without requiring the new published version.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, ci-cd, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.