name: ready to merge on: workflow_call: inputs: needs_context: type: string required: true jobs: all_jobs_passed: name: all jobs passed runs-on: ubuntu-latest steps: - name: "Check status of all required jobs" run: |- NEEDS_CONTEXT='${{ inputs.needs_context }}' JOB_IDS=$(echo "$NEEDS_CONTEXT" | jq -r 'keys[]') for JOB_ID in $JOB_IDS; do RESULT=$(echo "$NEEDS_CONTEXT" | jq -r ".[\"$JOB_ID\"].result") echo "$JOB_ID job result: $RESULT" if [[ $RESULT != "success" && $RESULT != "skipped" ]]; then echo "***" echo "Error: The $JOB_ID job did not pass." exit 1 fi done echo "All jobs passed or were skipped."