Skip to content

Commit 8a55541

Browse files
committed
Fix self-hosted Linux yarn berry install fallback
Signed-off-by: Nick Sweeting <git@sweeting.me>
1 parent a061f03 commit 8a55541

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

.github/workflows/tests.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,19 @@ jobs:
144144
else
145145
YARN_BERRY_PREFIX="/usr/local/yarn-berry"
146146
YARN_BERRY_ALIAS="/usr/local/bin/yarn-berry"
147+
sudo -n mkdir -p "$YARN_BERRY_PREFIX" "$(dirname "$YARN_BERRY_ALIAS")"
147148
fi
148149
YARN_BERRY_ALIAS_DIR="$(dirname "$YARN_BERRY_ALIAS")"
149-
mkdir -p "$YARN_BERRY_ALIAS_DIR"
150150
export PATH="$YARN_BERRY_ALIAS_DIR:$PATH"
151151
echo "$YARN_BERRY_ALIAS_DIR" >> "$GITHUB_PATH"
152-
npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
153-
ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
152+
if [ "$YARN_BERRY_PREFIX" = "/usr/local/yarn-berry" ]; then
153+
sudo -n env PATH="$PATH" npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
154+
sudo -n ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
155+
else
156+
mkdir -p "$YARN_BERRY_ALIAS_DIR"
157+
npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
158+
ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
159+
fi
154160
"$YARN_BERRY_ALIAS" --version | grep -q '^4\.'
155161
command -v yarn
156162
yarn --version
@@ -323,13 +329,19 @@ jobs:
323329
else
324330
YARN_BERRY_PREFIX="/usr/local/yarn-berry"
325331
YARN_BERRY_ALIAS="/usr/local/bin/yarn-berry"
332+
sudo -n mkdir -p "$YARN_BERRY_PREFIX" "$(dirname "$YARN_BERRY_ALIAS")"
326333
fi
327334
YARN_BERRY_ALIAS_DIR="$(dirname "$YARN_BERRY_ALIAS")"
328-
mkdir -p "$YARN_BERRY_ALIAS_DIR"
329335
export PATH="$YARN_BERRY_ALIAS_DIR:$PATH"
330336
echo "$YARN_BERRY_ALIAS_DIR" >> "$GITHUB_PATH"
331-
npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
332-
ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
337+
if [ "$YARN_BERRY_PREFIX" = "/usr/local/yarn-berry" ]; then
338+
sudo -n env PATH="$PATH" npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
339+
sudo -n ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
340+
else
341+
mkdir -p "$YARN_BERRY_ALIAS_DIR"
342+
npm install --prefix "$YARN_BERRY_PREFIX" @yarnpkg/cli-dist@4.13.0
343+
ln -sf "$YARN_BERRY_PREFIX/node_modules/.bin/yarn" "$YARN_BERRY_ALIAS"
344+
fi
333345
"$YARN_BERRY_ALIAS" --version | grep -q '^4\.'
334346
command -v yarn
335347
yarn --version

0 commit comments

Comments
 (0)