Skip to content

Commit

Permalink
chore: Change get version workflow to an action (#4951)
Browse files Browse the repository at this point in the history
change get version workflow to an action

Signed-off-by: Tommy Hughes <tohughes@redhat.com>
  • Loading branch information
tchughesiv authored Jan 21, 2025
1 parent 3ee27ee commit 8196d78
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 100 deletions.
88 changes: 88 additions & 0 deletions .github/actions/get-semantic-release-version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Get semantic release version
description: ""
inputs:
custom_version: # Optional input for a custom version
description: "Custom version to publish (e.g., v1.2.3) -- only edit if you know what you are doing"
required: false
token:
description: "Personal Access Token"
required: true
default: ""
outputs:
release_version:
description: "The release version to use (e.g., v1.2.3)"
value: ${{ steps.get_release_version.outputs.release_version }}
version_without_prefix:
description: "The release version to use without 'v' (e.g., 1.2.3)"
value: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
highest_semver_tag:
description: "The highest semantic version tag without the 'v' prefix (e.g., 1.2.3)"
value: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
runs:
using: composite
steps:
- uses: actions/checkout@v4
- name: Get release version
id: get_release_version
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.token }}
GIT_AUTHOR_NAME: feast-ci-bot
GIT_AUTHOR_EMAIL: feast-ci-bot@willem.co
GIT_COMMITTER_NAME: feast-ci-bot
GIT_COMMITTER_EMAIL: feast-ci-bot@willem.co
run: |
if [[ -n "${{ inputs.custom_version }}" ]]; then
VERSION_REGEX="^v[0-9]+\.[0-9]+\.[0-9]+$"
echo "Using custom version: ${{ inputs.custom_version }}"
if [[ ! "${{ inputs.custom_version }}" =~ $VERSION_REGEX ]]; then
echo "Error: custom_version must match semantic versioning (e.g., v1.2.3)."
exit 1
fi
echo "::set-output name=release_version::${{ inputs.custom_version }}"
elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "Using tag reference: ${GITHUB_REF#refs/tags/}"
echo "::set-output name=release_version::${GITHUB_REF#refs/tags/}"
else
echo "Defaulting to branch name: ${GITHUB_REF#refs/heads/}"
echo "::set-output name=release_version::${GITHUB_REF#refs/heads/}"
fi
- name: Get release version without prefix
id: get_release_version_without_prefix
shell: bash
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
if [[ "${RELEASE_VERSION}" == v* ]]; then
echo "::set-output name=version_without_prefix::${RELEASE_VERSION:1}"
else
echo "::set-output name=version_without_prefix::${RELEASE_VERSION}"
fi
- name: Get highest semver
id: get_highest_semver
shell: bash
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
run: |
if [[ -n "${{ inputs.custom_version }}" ]]; then
HIGHEST_SEMVER_TAG="${{ inputs.custom_version }}"
echo "::set-output name=highest_semver_tag::$HIGHEST_SEMVER_TAG"
echo "Using custom version as highest semantic version: $HIGHEST_SEMVER_TAG"
else
source infra/scripts/setup-common-functions.sh
SEMVER_REGEX='^v[0-9]+\.[0-9]+\.[0-9]+(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?$'
if echo "${RELEASE_VERSION}" | grep -P "$SEMVER_REGEX" &>/dev/null ; then
echo ::set-output name=highest_semver_tag::$(get_tag_release -m)
echo "Using infra/scripts/setup-common-functions.sh to generate highest semantic version: $HIGHEST_SEMVER_TAG"
fi
fi
- name: Check output
shell: bash
env:
RELEASE_VERSION: ${{ steps.get_release_version.outputs.release_version }}
VERSION_WITHOUT_PREFIX: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }}
HIGHEST_SEMVER_TAG: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
run: |
echo $RELEASE_VERSION
echo $VERSION_WITHOUT_PREFIX
echo $HIGHEST_SEMVER_TAG
96 changes: 0 additions & 96 deletions .github/workflows/get_semantic_release_version.yml

This file was deleted.

4 changes: 3 additions & 1 deletion .github/workflows/publish_helm_charts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ jobs:
HELM_VERSION: v3.8.0
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- id: get-version
uses: ./.github/workflows/get_semantic_release_version.yml
uses: ./.github/actions/get-semantic-release-version
with:
custom_version: ${{ github.event.inputs.custom_version }}
token: ${{ github.event.inputs.token }}
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/publish_images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ jobs:
REGISTRY: feastdev
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- id: get-version
uses: ./.github/workflows/get_semantic_release_version.yml
uses: ./.github/actions/get-semantic-release-version
with:
custom_version: ${{ github.event.inputs.custom_version }}
token: ${{ github.event.inputs.token }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_java_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
with:
submodules: 'true'
- id: get-version
uses: ./.github/workflows/get_semantic_release_version.yml
uses: ./.github/actions/get-semantic-release-version
with:
custom_version: ${{ github.event.inputs.custom_version }}
token: ${{ github.event.inputs.token }}
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/publish_python_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- id: get-version
uses: ./.github/workflows/get_semantic_release_version.yml
uses: ./.github/actions/get-semantic-release-version
with:
custom_version: ${{ github.event.inputs.custom_version }}
token: ${{ github.event.inputs.token }}
Expand Down

0 comments on commit 8196d78

Please sign in to comment.