Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Change get version workflow to an action #4951

Merged
merged 1 commit into from
Jan 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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: [email protected]
GIT_COMMITTER_NAME: feast-ci-bot
GIT_COMMITTER_EMAIL: [email protected]
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
Loading