2024-10-24 08:59:16 +00:00
|
|
|
name: Parse Version Number
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
inputs:
|
|
|
|
version:
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
outputs:
|
|
|
|
major:
|
|
|
|
description: "Major number"
|
|
|
|
value: ${{ jobs.parse.outputs.major }}
|
|
|
|
minor:
|
|
|
|
description: "Minor number"
|
|
|
|
value: ${{ jobs.parse.outputs.minor }}
|
|
|
|
patch:
|
|
|
|
description: "Patch number"
|
|
|
|
value: ${{ jobs.parse.outputs.patch }}
|
|
|
|
build:
|
|
|
|
description: "Build number"
|
|
|
|
value: ${{ jobs.parse.outputs.build }}
|
|
|
|
tag:
|
|
|
|
description: "Tag"
|
|
|
|
value: ${{ jobs.parse.outputs.tag }}
|
|
|
|
releaseChannel:
|
|
|
|
description: "The release channel"
|
|
|
|
value: ${{ jobs.parse.outputs.releaseChannel }}
|
|
|
|
simpleVersion:
|
|
|
|
description: "Simple Version output"
|
|
|
|
value: ${{ jobs.parse.outputs.simpleVersion }}
|
|
|
|
buildVersion:
|
|
|
|
description: "Build Version Output"
|
|
|
|
value: ${{ jobs.parse.outputs.buildVersion }}
|
|
|
|
jobs:
|
|
|
|
parse:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
outputs:
|
|
|
|
major: ${{ steps.parseStep.outputs.major }}
|
|
|
|
minor: ${{ steps.parseStep.outputs.minor }}
|
|
|
|
patch: ${{ steps.parseStep.outputs.patch }}
|
|
|
|
build: ${{ steps.parseStep.outputs.build }}
|
|
|
|
tag: ${{ steps.parseStep.outputs.tag }}
|
|
|
|
releaseChannel: ${{ steps.parseStep.outputs.releaseChannel }}
|
|
|
|
simpleVersion: ${{ steps.parseStep.outputs.simpleVersion }}
|
|
|
|
buildVersion: ${{ steps.parseStep.outputs.buildVersion }}
|
|
|
|
steps:
|
|
|
|
- id: parseStep
|
|
|
|
run: |
|
|
|
|
tag="${{ inputs.version }}"
|
|
|
|
tag="${tag#refs/tags/}"
|
|
|
|
|
|
|
|
if [[ "$tag" == *"/"* ]]; then
|
|
|
|
releaseChannel=$(echo "$tag" | cut -d'/' -f1)
|
|
|
|
version=$(echo "$tag" | cut -d'/' -f2)
|
|
|
|
else
|
|
|
|
releaseChannel="beta"
|
|
|
|
version="$tag"
|
|
|
|
fi
|
|
|
|
|
|
|
|
version=$(echo "$tag" | sed 's|.*/||')
|
|
|
|
|
|
|
|
IFS='.' read -r major minor patch build <<< "$version"
|
|
|
|
|
|
|
|
if [ -z "$build" ]; then
|
|
|
|
build="0"
|
|
|
|
fi
|
|
|
|
|
|
|
|
simpleVersion="$major"."$minor"."$patch"."$build"
|
|
|
|
buildVersion="$major"."$minor"."$patch"-build."$build"
|
|
|
|
|
|
|
|
echo "major=$major" >> $GITHUB_OUTPUT
|
|
|
|
echo "minor=$minor" >> $GITHUB_OUTPUT
|
|
|
|
echo "patch=$patch" >> $GITHUB_OUTPUT
|
|
|
|
echo "build=$build" >> $GITHUB_OUTPUT
|
|
|
|
echo "tag=$tag" >> $GITHUB_OUTPUT
|
|
|
|
echo "releaseChannel=$releaseChannel" >> $GITHUB_OUTPUT
|
|
|
|
echo "simpleVersion=$simpleVersion" >> $GITHUB_OUTPUT
|
2024-10-22 06:10:51 +00:00
|
|
|
echo "buildVersion=$buildVersion" >> $GITHUB_OUTPUT
|