54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
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 }}
|
|
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 }}
|
|
steps:
|
|
- id: parseStep
|
|
run: |
|
|
VERSION=$(echo ${{ inputs.version }} | sed 's|.*/||')
|
|
|
|
IFS='.' read -r major minor patch build <<< "$VERSION"
|
|
|
|
if [ -z "$build" ]; then
|
|
build="0"
|
|
fi
|
|
|
|
SIMPLE_VERSION=$(echo $major.$minor.$patch.$build)
|
|
BUILD_VERSION=$(echo $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 "simpleVersion=$SIMPLE_VERSION" >> $GITHUB_OUTPUT
|
|
echo "buildVersion=$BUILD_VERSION" >> $GITHUB_OUTPUT |