File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -131,7 +131,7 @@ jobs:
131131 files=$(git diff --diff-filter=AM --name-only ${{ github.event.before }} ${{ github.event.after }})
132132 fi
133133 fi
134- directories=$(for file in $files; do dirname $file; done | uniq | tr '\n' ' ' | sed 's/ $//')
134+ directories=$(for file in $files; do dirname $file; done | sort -u | tr '\n' ' ' | sed 's/ $//')
135135 echo "directories=${directories}" >> $GITHUB_OUTPUT
136136
137137 # Get list of changed directories from workflow dispatch event:
Original file line number Diff line number Diff line change @@ -163,7 +163,7 @@ jobs:
163163 files=$(git diff --diff-filter=AM --name-only ${{ github.event.before }} ${{ github.event.after }})
164164 fi
165165 fi
166- directories=$(for file in $files; do dirname $file; done | uniq | tr '\n' ' ' | sed 's/ $//')
166+ directories=$(for file in $files; do dirname $file; done | sort -u | tr '\n' ' ' | sed 's/ $//')
167167 echo "directories=${directories}" >> $GITHUB_OUTPUT
168168
169169 # Get list of changed directories from workflow dispatch event:
Original file line number Diff line number Diff line change @@ -134,7 +134,7 @@ jobs:
134134 else
135135 files=$(git diff --diff-filter=AM --name-only ${{ github.event.before }} ${{ github.event.after }})
136136 fi
137- directories=$(for file in $files; do dirname $file; done | uniq | tr '\n' ' ' | sed 's/ $//')
137+ directories=$(for file in $files; do dirname $file; done | sort -u | tr '\n' ' ' | sed 's/ $//')
138138 echo "directories=${directories}" >> $GITHUB_OUTPUT
139139
140140 # Get list of changed directories from workflow dispatch event:
Original file line number Diff line number Diff line change @@ -123,7 +123,7 @@ jobs:
123123 # Get changed files using git diff against base branch:
124124 git fetch origin ${{ github.base_ref }} --depth=1
125125 files=$(git diff --diff-filter=AM --name-only origin/${{ github.base_ref }}...HEAD)
126- directories=$(for file in $files; do dirname $file; done | uniq | tr '\n' ' ' | sed 's/ $//')
126+ directories=$(for file in $files; do dirname $file; done | sort -u | tr '\n' ' ' | sed 's/ $//')
127127 echo "directories=${directories}" >> $GITHUB_OUTPUT
128128
129129 # Exit early if non-package directories are changed:
Original file line number Diff line number Diff line change @@ -110,7 +110,7 @@ main() {
110110 changed=$( echo " ${changed} " | tr ' ' ' \n' | grep ' ^lib/node_modules/@stdlib' ) || true
111111
112112 # Find unique package directories:
113- directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?$//' | uniq )
113+ directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?$//' | sort -u )
114114
115115 if [ -z " ${directories} " ]; then
116116 echo ' No packages to run benchmarks for.' >&2
Original file line number Diff line number Diff line change @@ -110,7 +110,7 @@ main() {
110110 changed=$( echo " ${changed} " | tr ' ' ' \n' | grep ' ^lib/node_modules/@stdlib' ) || true
111111
112112 # Find unique package directories:
113- directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?$//' | uniq )
113+ directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?$//' | sort -u )
114114
115115 if [ -z " ${directories} " ]; then
116116 echo ' No packages to test.' >&2
@@ -141,6 +141,9 @@ main() {
141141 directories=" ${directories} ${required_by} "
142142 fi
143143
144+ # Deduplicate the merged list of directories:
145+ directories=$( echo " ${directories} " | tr ' ' ' \n' | sort -u)
146+
144147 # Build native add-ons for packages (if applicable):
145148 for pkg in ${packages} ; do
146149 if [ -f " lib/node_modules/${pkg} /binding.gyp" ]; then
Original file line number Diff line number Diff line change @@ -129,7 +129,7 @@ main() {
129129 grep -v ' ^lib/node_modules/@stdlib/_tools' ) || true
130130
131131 # Find unique package directories:
132- directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?\/?$//' | uniq )
132+ directories=$( echo " ${changed} " | tr ' ' ' \n' | sed -E ' s/\/(benchmark|bin|data|docs|etc|examples|include|lib|scripts|src|test)(\/.*)?\/?$//' | sort -u )
133133
134134 if [ -z " ${directories} " ]; then
135135 echo ' No packages to test.' >&2
You can’t perform that action at this time.
0 commit comments