60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: Prepare Build
|
|
run-name: Prepare Build Version
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
version_suffix:
|
|
description: 'Suffix for version (z.B. "dev", "alpha", "beta")'
|
|
required: false
|
|
type: string
|
|
working_directory:
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
prepare:
|
|
runs-on: [ runner ]
|
|
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
|
|
defaults:
|
|
run:
|
|
working-directory: ${{ inputs.working_directory }}
|
|
steps:
|
|
- name: Clone Repository
|
|
uses: https://github.com/actions/checkout@v3
|
|
with:
|
|
token: ${{ secrets.CI_ACCESS_TOKEN }}
|
|
|
|
- name: Get Date and Build Number
|
|
run: |
|
|
git fetch --tags
|
|
git tag
|
|
DATE=$(date +'%Y.%m.%d')
|
|
TAG_COUNT=$(git tag -l "${DATE}.*" | wc -l)
|
|
BUILD_NUMBER=$(($TAG_COUNT + 1))
|
|
|
|
VERSION_SUFFIX="${{ inputs.version_suffix }}"
|
|
if [ -n "$VERSION_SUFFIX" ] && [[ "$VERSION_SUFFIX" == "dev"* ]]; then
|
|
BUILD_VERSION="${DATE}.dev${BUILD_NUMBER}"
|
|
elif [ -n "$VERSION_SUFFIX" ]; then
|
|
BUILD_VERSION="${DATE}.${BUILD_NUMBER}${VERSION_SUFFIX}"
|
|
else
|
|
BUILD_VERSION="${DATE}.${BUILD_NUMBER}"
|
|
fi
|
|
|
|
echo "$BUILD_VERSION" > version.txt
|
|
echo "VERSION $BUILD_VERSION"
|
|
|
|
- name: Create Git Tag for Build
|
|
run: |
|
|
git config user.name "ci"
|
|
git config user.email "dev@sh-edraft.de"
|
|
echo "tag $(cat version.txt)"
|
|
git tag $(cat version.txt)
|
|
git push origin --tags
|
|
|
|
- name: Upload build version artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: version
|
|
path: ${{ inputs.working_directory }}/version.txt |