Skip to content

Commit c6553c1

Browse files
committed
Fix logic 2
1 parent 7305a1d commit c6553c1

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

.github/workflows/check-backport-labels.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,14 @@ jobs:
6666
if [[ "${pr_label}" =~ ${backport_regex} ]]; then
6767
major="${BASH_REMATCH[1]}"
6868
minor="${BASH_REMATCH[2]}"
69-
pr_majors+=("${major}")
7069
if [ "${minor}" != "x" ]; then
70+
pr_majors+=("${major}")
7171
has_exact_backport_label=true
7272
else
7373
pr_floating_majors+=("${major}")
7474
fi
7575
else
76+
# Matches 'skip-backport'
7677
has_exact_backport_label=true
7778
fi
7879
@@ -90,6 +91,9 @@ jobs:
9091
exit 1
9192
fi
9293
94+
# Validate that a floating backport label exists for each exact backport label major
95+
# version.
96+
9397
has_floating_backport_labels=true
9498
9599
for pr_major in "${pr_majors[@]}"; do
@@ -121,3 +125,27 @@ jobs:
121125
if [ "${has_floating_backport_labels}" != true ]; then
122126
exit 1
123127
fi
128+
129+
# Validate that an exact backport label exists for each floating backport label major
130+
# version.
131+
132+
has_exact_backports_labels=true
133+
134+
for pr_floating_major in "${pr_floating_majors[@]}"; do
135+
exists_exact_major=false
136+
for pr_major in "${pr_majors[@]}"; do
137+
if [ "${pr_floating_major}" -eq "${pr_major}" ]; then
138+
has_exact_major=true
139+
fi
140+
done
141+
142+
if [ "${has_exact_major}" != true ]; then
143+
has_exact_backport_labels=false
144+
echo "::error::Missing exact backport label for '${pr_floating_major}.x'"
145+
fi
146+
done
147+
148+
if [ "${has_exact_backport_labels}" != true ]; then
149+
exit 1
150+
fi
151+

0 commit comments

Comments
 (0)