branch-names/action.yml

87 lines
3.1 KiB
YAML
Raw Normal View History

2021-08-04 15:17:49 -04:00
name: Branch Names
2021-06-05 17:16:06 -04:00
description: Retrieve giithub branch or tag information without the /ref/* prefix
2020-12-11 08:15:40 -05:00
author: tj-actions
inputs:
2021-04-24 20:07:39 -04:00
strip_tag_prefix:
description: 'The tag prefix to strip i.e v0.0.1 -> (strip v) -> 0.0.1'
default: ''
required: false
2020-12-11 08:23:56 -05:00
2020-12-11 08:15:40 -05:00
outputs:
2021-02-12 16:30:56 -05:00
is_default:
2021-02-12 16:33:03 -05:00
value: ${{ steps.default.outputs.is_default }}
2021-02-12 16:30:56 -05:00
description: 'Returns "true" if the current branch is the default else "false".'
2021-05-27 08:24:26 -04:00
is_tag:
value: ${{ steps.tag.outputs.is_tag }}
description: 'Returns "true" if the current branch is a tag else "false".'
2021-02-07 19:30:56 -05:00
current_branch:
value: ${{ steps.current_branch.outputs.current_branch }}
description: 'Returns the value of the current branch which is consistent regardless of event_type: i.e (push, pull_requests).'
2020-12-11 08:15:40 -05:00
base_ref_branch:
2020-12-11 08:41:21 -05:00
value: ${{ steps.branch.outputs.base_ref_branch }}
2020-12-11 08:15:40 -05:00
description: 'The target branch of a pull request'
head_ref_branch:
2020-12-11 08:41:21 -05:00
value: ${{ steps.branch.outputs.head_ref_branch }}
2020-12-11 08:15:40 -05:00
description: 'The source branch of a pull request'
ref_branch:
2020-12-11 08:41:21 -05:00
value: ${{ steps.branch.outputs.ref_branch }}
2020-12-11 08:15:40 -05:00
description: 'The branch that triggered the workflow run.'
2021-04-24 06:35:28 -04:00
tag:
2021-04-24 06:50:42 -04:00
value: ${{ steps.tag.outputs.tag }}
2021-04-24 06:35:28 -04:00
description: 'The tag that triggered the workflow run.'
2020-12-11 08:15:40 -05:00
runs:
2020-12-11 08:41:21 -05:00
using: "composite"
steps:
- id: branch
run: |
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
BASE_REF=${{ github.base_ref }}
HEAD_REF=${{ github.head_ref }}
REF=${{ github.ref }}
2021-04-24 06:35:28 -04:00
echo "::set-output name=base_ref_branch::${BASE_REF/refs\/heads\//}"
echo "::set-output name=head_ref_branch::${HEAD_REF/refs\/heads\//}"
REF_BRANCH=${REF/refs\/pull\//}
echo "::set-output name=ref_branch::${REF_BRANCH/refs\/heads\//}"
fi
2020-12-11 08:41:21 -05:00
shell: bash
2021-02-07 19:30:56 -05:00
- id: current_branch
run: |
2021-05-25 12:26:52 -04:00
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
if [[ ${{ github.event_name }} == 'pull_request' ]]; then
echo "::set-output name=current_branch::${{ steps.branch.outputs.head_ref_branch }}"
else
echo "::set-output name=current_branch::${{ steps.branch.outputs.ref_branch }}"
fi
2021-02-07 19:30:56 -05:00
else
2021-05-25 12:26:52 -04:00
REF=${{ github.ref }}
REF_BRANCH=${REF/refs\/tags\/${{ inputs.strip_tag_prefix }}/}
2021-05-25 12:26:52 -04:00
echo "::set-output name=current_branch::$REF_BRANCH"
2021-02-07 19:30:56 -05:00
fi
2021-02-07 19:39:26 -05:00
shell: bash
2021-02-12 16:33:03 -05:00
- id: default
2021-02-12 16:30:56 -05:00
run: |
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
2021-04-24 21:16:05 -04:00
if [[ "${{ steps.current_branch.outputs.current_branch }}" == "${{ steps.branch.outputs.ref_branch }}" ]]; then
echo "::set-output name=is_default::true"
else
echo "::set-output name=is_default::false"
fi
2021-02-12 16:30:56 -05:00
fi
2021-04-24 06:35:28 -04:00
shell: bash
- id: tag
run: |
2021-04-24 21:16:05 -04:00
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
REF=${{ github.ref }}
2021-04-24 22:54:22 -04:00
TAG=${REF/refs\/tags\/${{ inputs.strip_tag_prefix }}/}
2021-04-24 06:35:28 -04:00
echo "::set-output name=tag::$TAG"
2021-05-27 08:24:26 -04:00
echo "::set-output name=is_tag::true"
else
echo "::set-output name=is_tag::false"
2021-04-24 06:35:28 -04:00
fi
shell: bash
2021-02-07 19:39:26 -05:00
2020-12-11 08:15:40 -05:00
branding:
icon: git-branch
color: white