mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-01-28 15:41:39 -05:00
67 lines
2.3 KiB
YAML
67 lines
2.3 KiB
YAML
name: Get Version Info
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
manual_version:
|
|
description: 'Manual version override (e.g., 1.0.0)'
|
|
required: false
|
|
type: string
|
|
default: ''
|
|
outputs:
|
|
app_version:
|
|
description: 'Application version (without v prefix)'
|
|
value: ${{ jobs.version.outputs.app_version }}
|
|
release_version:
|
|
description: 'Release version (with v prefix)'
|
|
value: ${{ jobs.version.outputs.release_version }}
|
|
is_tag:
|
|
description: 'Whether this is a tag event'
|
|
value: ${{ jobs.version.outputs.is_tag }}
|
|
repository_name:
|
|
description: 'Repository name without owner'
|
|
value: ${{ jobs.version.outputs.repository_name }}
|
|
|
|
jobs:
|
|
version:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
app_version: ${{ steps.version.outputs.app_version }}
|
|
release_version: ${{ steps.version.outputs.release_version }}
|
|
is_tag: ${{ steps.version.outputs.is_tag }}
|
|
repository_name: ${{ steps.version.outputs.repository_name }}
|
|
|
|
steps:
|
|
- name: Calculate version info
|
|
id: version
|
|
run: |
|
|
repoFullName="${{ github.repository }}"
|
|
repositoryName="${repoFullName#*/}"
|
|
|
|
if [[ "${{ github.ref }}" =~ ^refs/tags/ ]]; then
|
|
# Tag event
|
|
release_version="${GITHUB_REF##refs/tags/}"
|
|
app_version="${release_version#v}"
|
|
is_tag="true"
|
|
elif [[ -n "${{ inputs.manual_version }}" ]]; then
|
|
# Manual workflow with version
|
|
app_version="${{ inputs.manual_version }}"
|
|
release_version="v${app_version}"
|
|
is_tag="false"
|
|
else
|
|
# Development build
|
|
app_version="0.0.1-dev-$(date +%Y%m%d-%H%M%S)"
|
|
release_version="v${app_version}"
|
|
is_tag="false"
|
|
fi
|
|
|
|
echo "app_version=${app_version}" >> $GITHUB_OUTPUT
|
|
echo "release_version=${release_version}" >> $GITHUB_OUTPUT
|
|
echo "is_tag=${is_tag}" >> $GITHUB_OUTPUT
|
|
echo "repository_name=${repositoryName}" >> $GITHUB_OUTPUT
|
|
|
|
echo "📦 Repository: ${repositoryName}"
|
|
echo "🏷️ Release Version: ${release_version}"
|
|
echo "📱 App Version: ${app_version}"
|
|
echo "🔖 Is Tag: ${is_tag}"
|