Files
get_submodule_hash/action.yml
2021-09-18 23:42:48 +02:00

44 lines
1.1 KiB
YAML

name: Get submodule hash
description: Tries to acquire the hash of a submodule
inputs:
submodule:
description: Path to submodule (relative from repo root)
required: true
repo:
description: Path to the repo
required: false
outputs:
hash:
description: The hash of the submodule
value: ${{ steps.get-submodule-hash.outputs.hash }}
runs:
using: composite
steps:
- id: get-submodule-hash
run: |
if [[ ! -z "${{ inputs.repo }}" ]]
then
REPO_ARGS=(-C "${{ inputs.repo }}")
else
REPO_ARGS=()
fi
SUBMODULES="$(git "${REPO_ARGS[@]}" submodule)"
if [[ $? -ne 0 ]]
then
echo ERROR git submodule failed
echo "$SUBMODULES"
exit 1
fi
SUBMODULE_HASH="$(echo "$SUBMODULES" | awk '{ if ($2 == "${{ inputs.submodule }}") print $1 }')"
if [[ -z "${SUBMODULE_HASH}" ]]
then
echo ERROR: could not get hash for submodule ${{ inputs.submodule }}
git submodule
exit 1
fi
echo "::set-output name=hash::${SUBMODULE_HASH#"-"}"
shell: bash