Skip to content

Commit c8b3ad5

Browse files
authored
Create ready-to-merge.yml
1 parent 12b7243 commit c8b3ad5

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# From https://github.com/EarthmanMuons/reusable-workflows/blob/main/.github/workflows/ready-to-merge.yml
2+
# Copyright (c) 2023 Aaron Bull Schaefer and contributors
3+
#
4+
# Permission to use, copy, modify, and/or distribute this software for any
5+
# purpose with or without fee is hereby granted.
6+
#
7+
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8+
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9+
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10+
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11+
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12+
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13+
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14+
15+
name: ready to merge
16+
17+
on:
18+
workflow_call:
19+
inputs:
20+
needs_context:
21+
type: string
22+
required: true
23+
24+
jobs:
25+
all_jobs_passed:
26+
name: all jobs passed
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: "Check status of all required jobs"
30+
run: |-
31+
NEEDS_CONTEXT='${{ inputs.needs_context }}'
32+
JOB_IDS=$(echo "$NEEDS_CONTEXT" | jq -r 'keys[]')
33+
for JOB_ID in $JOB_IDS; do
34+
RESULT=$(echo "$NEEDS_CONTEXT" | jq -r ".[\"$JOB_ID\"].result")
35+
echo "$JOB_ID job result: $RESULT"
36+
if [[ $RESULT != "success" && $RESULT != "skipped" ]]; then
37+
echo "***"
38+
echo "Error: The $JOB_ID job did not pass."
39+
exit 1
40+
fi
41+
done
42+
echo "All jobs passed or were skipped."

0 commit comments

Comments
 (0)