name: vars
description: Outputs variables that can be useful while creating a release
outputs:
should_release:
description: Indicates whether a release should be created or not
value: ${{ steps.vars.outputs.should_release }}
is_release_type_latest:
description: Shows if release type is latest (not a v* release)
value: ${{ steps.vars.outputs.is_release_type_latest }}
tag_name:
description: Name of the tag that should be used for release
value: ${{ steps.vars.outputs.tag_name }}
tarball_prefix:
description: A prefix to use in tarball asset names
value: ${{ steps.vars.outputs.tarball_prefix }}
runs:
using: "composite"
steps:
- id: vars
run: |
repo_name=${GITHUB_REPOSITORY##*/}
ref_name=${GITHUB_REF##*/}
default_branch=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
should_release=true
is_release_type_latest=false
tag_name=""
if [[ $GITHUB_REF == refs/tags/* ]]
then
tag_name=$ref_name
elif [[ $GITHUB_REF == refs/heads/* && $ref_name == $default_branch ]]
then
tag_name=latest
is_release_type_latest=true
else
should_release=false
fi
echo "should_release=$should_release" >> $GITHUB_OUTPUT
echo "is_release_type_latest=$is_release_type_latest" >> $GITHUB_OUTPUT
echo "tag_name=$tag_name" >> $GITHUB_OUTPUT
echo "tarball_prefix=$repo_name_$tag_name" >> $GITHUB_OUTPUT
shell: bash
- run: |
echo "- should_release: ${{ steps.vars.outputs.should_release }}"
echo "- is_release_type_latest: ${{ steps.vars.outputs.is_release_type_latest }}"
echo "- tag_name: ${{ steps.vars.outputs.tag_name }}"
echo "- tarball_prefix: ${{ steps.vars.outputs.tarball_prefix }}"
shell: bash