Skip to content

Commit

Permalink
Fix workflow to update dependencies
Browse files Browse the repository at this point in the history
Port over the fix from
#1544
and share code so these scripts don't get out of sync again.
  • Loading branch information
henrymercer committed Feb 24, 2023
1 parent 237a258 commit cf1855a
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 15 deletions.
10 changes: 1 addition & 9 deletions .github/workflows/script/check-node-modules.sh
Expand Up @@ -7,17 +7,9 @@ if [ ! -z "$(git status --porcelain)" ]; then
>&2 echo "Failed: Repo should be clean before testing!"
exit 1
fi
# When updating this, make sure to update the npm version in
# `.github/workflows/update-dependencies.yml` too.
sudo npm install --force -g npm@9.2.0

# clean the npm cache to ensure we don't have any files owned by root
sudo npm cache clean --force
"$(dirname "$0")/update-node-modules.sh" check-only

# Reinstall modules and then clean to remove absolute paths
# Use 'npm ci' instead of 'npm install' as this is intended to be reproducible
npm ci
npm run removeNPMAbsolutePaths
# Check that repo is still clean
if [ ! -z "$(git status --porcelain)" ]; then
# If we get a fail here then the PR needs attention
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/script/update-node-modules.sh
@@ -0,0 +1,18 @@
if [ "$1" != "update" && "$1" != "check-only" ]; then
>&2 echo "Failed: Invalid argument. Must be 'update' or 'check-only'"
exit 1
fi

sudo npm install --force -g npm@9.2.0

# clean the npm cache to ensure we don't have any files owned by root
sudo npm cache clean --force

if [ "$1" = "update" ]; then
npm install
fi

# Reinstall modules and then clean to remove absolute paths
# Use 'npm ci' instead of 'npm install' as this is intended to be reproducible
npm ci
npm run removeNPMAbsolutePaths
7 changes: 1 addition & 6 deletions .github/workflows/update-dependencies.yml
Expand Up @@ -27,12 +27,7 @@ jobs:
run: |
git fetch origin "$BRANCH" --depth=1
git checkout "origin/$BRANCH"
# When updating this, make sure to update the npm version in
# `.github/workflows/script/check-node-modules.sh` too.
sudo npm install --force -g npm@9.2.0
npm install
npm ci
npm run removeNPMAbsolutePaths
.github/workflows/script/update-node-modules.sh update
if [ ! -z "$(git status --porcelain)" ]; then
git config --global user.email "github-actions@github.com"
git config --global user.name "github-actions[bot]"
Expand Down

0 comments on commit cf1855a

Please sign in to comment.