Skip to content
Open
Show file tree
Hide file tree
Changes from 2 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
13 changes: 5 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -688,16 +688,13 @@ jobs:
- run: cd bit && bbit init
- run:
name: bbit install
# the user-agent append labels registry requests from CI installs (the committed .npmrc
# says bit-repo-local). skip-worktree keeps the mutation out of any later commit made
# from this workspace (e.g. the version-bump commit of `bit ci merge`, which stages all
# tracked changes) — without it, a duplicate user-agent line lands on master every
# release and, being last in the file, overrides bit-repo-local for local installs too.
# the flag lives in .git/index, so it survives persist_to_workspace into later jobs.
# pnpm v12 stores the project user-agent in pnpm-workspace.yaml. Override the tracked
# local marker only in this CI worktree, then keep the temporary change out of later
# commits made from the persisted checkout (notably the release version bump).
command: >
cd bit &&
echo "user-agent=bit-repo-circleci" >> .npmrc &&
git update-index --skip-worktree .npmrc &&
pnpm config set --location=project userAgent bit-repo-circleci &&

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Unprovisioned pnpm command 🐞 Bug ☼ Reliability

setup_harmony now invokes pnpm config set without running the repository's setup_pnpm command,
so a missing pnpm terminates the && chain before bbit install, while an ambient older pnpm may
write the setting somewhere other than pnpm-workspace.yaml. The repository explicitly provisions
and pins pnpm 12 for every existing direct pnpm workflow, but this job omits that setup.
Agent Prompt
## Issue description
`setup_harmony` directly invokes `pnpm config set`, but the job does not install or pin pnpm. This can either fail the job or use a pnpm version that does not implement the expected v12 project-config behavior.

## Issue Context
The repository already defines `setup_pnpm`, which installs pnpm 12.0.0-rc.7 and exports its binary directory through `$BASH_ENV`. Add that setup to `setup_harmony` before the direct pnpm invocation, or invoke the explicitly provisioned v12 binary by another reliable mechanism.

## Fix Focus Areas
- .circleci/config.yml[264-279]
- .circleci/config.yml[671-698]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

git update-index --skip-worktree pnpm-workspace.yaml &&
bbit install
# `bbit install` compiles as part of the install, but that pass can fall back to the
# default TypeScript compiler for components whose env is still being imported - notably
Expand Down
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

4 changes: 4 additions & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Marks installs performed inside this repository at the registry, so the bit
# CLI repo's own traffic can be told apart from real users' installs. pnpm v12
# reads settings like this one here rather than from .npmrc.
userAgent: bit-repo
Loading