You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: disable selflink test on apple silicon (#7411)
Arborist CI has started failing on `macos-latest` now that those runners
default to `arm64` machines (aka Apple Silicon). I am able to reproduce
the failures locally on a Macbook Pro M1.
After spending some time debugging the issue I believe it has to do with
the timing of `Node` vs `Link` creation. I was able to bisect and find
#5376 which removed the ability for nodes
to possibly take longer to create than their link targets.
Going back to the commit before that PR the flaky test passes locally
for me and fails starting with the first commit in that PR.
I'm just running the offending test in a loop and seeing if it fails, so
not a perfect metric. But when it fails, I get a failure at least 10% of
the time. On the old commit I was able to run it 50x with no failures.
Here's what I was running locally to observe failures:
```sh
COUNT="0"
while true; do
COUNT=$((COUNT+1))
echo "Start $COUNT"
if ! npm test -w workspaces/arborist --ignore-scripts -- test/arborist/load-actual.js --no-coverage -Rtap --grep selflink; then
echo "Failed on run $COUNT"
exit 1
fi
done
```
This is definitely an edge case, but one I would like to fix in the
future. Disabling this test is to temporarily get CI green while we
release and make more substantial changes that are hard to do with CI
flaking.
We've had other issues with symlinks and I would feel much better
knowing we have defined behavior in this specific case when tracking
down future potential symlink bugs.
One fix that worked locally is iterating over `node.target.children`
sequentially instead of in `Promise.all`] but that is probably only a
side effect of the dep ordering in the test. A fix will have to account
for any order of links and node taking different amount of time.
https://github.com/npm/cli/blob/c1152e9d2e325bc87176d3d9788605107d109b7b/workspaces/arborist/lib/arborist/load-actual.js#L337
0 commit comments