Skip to content

Commit 79a1621

Browse files
fi3eworkampagent
andcommitted
fix: use pnpm exec sh -c for Verdaccio publish instead of for loop
The for-loop approach parsing pnpm exec output was broken because pnpm adds prefix text to exec output, causing path resolution failures. Use the same pattern as rspack reusable-build: pnpm --filter ... exec sh -c to run jq directly in each package directory. Amp-Thread-ID: https://ampcode.com/threads/T-019d29d2-39df-76ce-8a7b-fd06c8874b65 Co-authored-by: Amp <amp@ampcode.com>
1 parent 7618b56 commit 79a1621

4 files changed

Lines changed: 28 additions & 35 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,10 @@ jobs:
213213
if: matrix.suite != '_selftest'
214214
working-directory: workspace/rspack
215215
run: |
216-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
217-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
218-
mv "$pkg/package.json.tmp" "$pkg/package.json"
219-
done
220-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
216+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
217+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
218+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
219+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
221220
- name: Run suite (with Verdaccio)
222221
if: matrix.suite != '_selftest'
223222
run: >-

.github/workflows/rspack-ecosystem-ci-from-commit.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,10 @@ jobs:
103103
if: inputs.suite != '_selftest'
104104
working-directory: workspace/rspack
105105
run: |
106-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
107-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
108-
mv "$pkg/package.json.tmp" "$pkg/package.json"
109-
done
110-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
106+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
107+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
108+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
109+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
111110
- name: Run suite (with Verdaccio)
112111
if: inputs.suite != '_selftest'
113112
run: >-
@@ -180,11 +179,10 @@ jobs:
180179
if: matrix.suite != '_selftest'
181180
working-directory: workspace/rspack
182181
run: |
183-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
184-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
185-
mv "$pkg/package.json.tmp" "$pkg/package.json"
186-
done
187-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
182+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
183+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
184+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
185+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
188186
- name: Run suite (with Verdaccio)
189187
if: matrix.suite != '_selftest'
190188
run: >-

.github/workflows/rspack-ecosystem-ci-from-pr.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,10 @@ jobs:
100100
- name: Publish rspack packages to Verdaccio
101101
working-directory: workspace/rspack
102102
run: |
103-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
104-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
105-
mv "$pkg/package.json.tmp" "$pkg/package.json"
106-
done
107-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
103+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
104+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
105+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
106+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
108107
- name: Run suite
109108
run: >-
110109
NPM_CONFIG_REGISTRY=http://localhost:4873
@@ -164,11 +163,10 @@ jobs:
164163
- name: Publish rspack packages to Verdaccio
165164
working-directory: workspace/rspack
166165
run: |
167-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
168-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
169-
mv "$pkg/package.json.tmp" "$pkg/package.json"
170-
done
171-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
166+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
167+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
168+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
169+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
172170
- name: Run suite
173171
run: >-
174172
NPM_CONFIG_REGISTRY=http://localhost:4873

.github/workflows/rspack-ecosystem-ci-selected.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,10 @@ jobs:
104104
- name: Publish rspack packages to Verdaccio
105105
working-directory: workspace/rspack
106106
run: |
107-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
108-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
109-
mv "$pkg/package.json.tmp" "$pkg/package.json"
110-
done
111-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
107+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
108+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
109+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
110+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
112111
- name: Run suite
113112
run: >-
114113
NPM_CONFIG_REGISTRY=http://localhost:4873
@@ -167,11 +166,10 @@ jobs:
167166
- name: Publish rspack packages to Verdaccio
168167
working-directory: workspace/rspack
169168
run: |
170-
for pkg in $(pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." exec -- node -p "process.cwd()"); do
171-
jq 'del(.publishConfig.provenance)' "$pkg/package.json" > "$pkg/package.json.tmp"
172-
mv "$pkg/package.json.tmp" "$pkg/package.json"
173-
done
174-
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
169+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
170+
exec sh -c 'jq "del(.publishConfig.provenance)" package.json > package.json.tmp && mv package.json.tmp package.json'
171+
pnpm -r --filter "@rspack/binding*..." --filter "@rspack/core..." --filter "@rspack/tracing..." --filter "@rspack/test-tools..." \
172+
publish --no-git-checks --provenance=false --access public --registry=http://localhost:4873
175173
- name: Run suite
176174
run: >-
177175
NPM_CONFIG_REGISTRY=http://localhost:4873

0 commit comments

Comments
 (0)