44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
name: Get merge commit
|
|||
|
|||
on:
|
|||
workflow_call:
|
|||
outputs:
|
|||
mergedSha:
|
|||
description: "The merge commit SHA"
|
|||
value: ${{ jobs.resolve-merge-commit.outputs.mergedSha }}
|
|||
|
|||
# We need a token to query the API, but it doesn't need any special permissions
|
|||
permissions: {}
|
|||
|
|||
jobs:
|
|||
resolve-merge-commit:
|
|||
runs-on: ubuntu-latest
|
|||
outputs:
|
|||
mergedSha: ${{ steps.merged.outputs.mergedSha }}
|
|||
steps:
|
|||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|||
with:
|
|||
path: base
|
|||
sparse-checkout: ci
|
|||
- name: Check if the PR can be merged and get the test merge commit
|
|||
id: merged
|
|||
env:
|
|||
GH_TOKEN: ${{ github.token }}
|
|||
GH_EVENT: ${{ github.event_name }}
|
|||
run: |
|
|||
case "$GH_EVENT" in
|
|||
push)
|
|||
echo "mergedSha=${{ github.sha }}" >> "$GITHUB_OUTPUT"
|
|||
;;
|
|||
pull_request_target)
|
|||
if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
|
|||
echo "Checking the merge commit $mergedSha"
|
|||
echo "mergedSha=$mergedSha" >> "$GITHUB_OUTPUT"
|
|||
else
|
|||
# Skipping so that no notifications are sent
|
|||
echo "Skipping the rest..."
|
|||
fi
|
|||
;;
|
|||
esac
|
|||
rm -rf base
|