Skip to content

Commit

Permalink
Add support for multiple bors targets.
Browse files Browse the repository at this point in the history
Allow using `bors try --target ... --target ...`, allowing multiple
arguments rather than just a single one.
  • Loading branch information
Alexhuszagh committed Jun 2, 2022
1 parent 1689de1 commit f28ff40
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,25 @@ jobs:
declare -a "bors_args=(${bors_args})"
fi
if [[ "${bors_args[0]-}" == --target ]]; then
echo "Only running targets matching '${bors_args[1]}'."
targets=()
index=0
while [[ "${bors_args[$index]-}" == --target ]]; do
index=$(expr $index + 1)
targets+=("${bors_args[$index]}")
index=$(expr $index + 1)
done
selects=()
for target in "${targets[@]}"; do
selects+=(".target == \"${target}\"")
done
query=$(printf " or %s" "${selects[@]}")
query="${query:4}"
if [[ "${#targets[@]}" != "0" ]]; then
echo "Only running targets matching '${targets[@]}'."
matrix="$(
target="${bors_args[1]}" yq --output-format json '[.[] | select(.target | test(env(target)))]' <<< "${matrix}"
yq --output-format json '[.[] | select('"${query}"')]' matrix.yaml <<< "${matrix}"
)"
else
echo 'Running all targets.'
Expand Down

0 comments on commit f28ff40

Please sign in to comment.