Sono state aggiunte azioni per estrarre la versione da un tag, pubblicare un progetto .NET e distribuire su IIS. Queste azioni semplificano il processo di build e deploy per i progetti .NET, migliorando l'integrazione con Gitea Actions.
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: Versione da tag
|
|
description: Valida il tag in compilazione e popola le variabili di versionamento.
|
|
|
|
inputs:
|
|
ref-name:
|
|
description: Nome del tag o ref da elaborare.
|
|
required: true
|
|
|
|
outputs:
|
|
appver:
|
|
description: Versione applicativa in formato n.n.n.n.
|
|
value: ${{ steps.versione.outputs.appver }}
|
|
fullver:
|
|
description: Versione completa, comprensiva di eventuale suffisso.
|
|
value: ${{ steps.versione.outputs.fullver }}
|
|
suffix:
|
|
description: Suffisso estratto dal tag, comprensivo del trattino iniziale quando presente.
|
|
value: ${{ steps.versione.outputs.suffix }}
|
|
version:
|
|
description: Versione normalizzata senza punti, mantenendo l'eventuale suffisso con trattino.
|
|
value: ${{ steps.versione.outputs.version }}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Calcola versione da tag
|
|
id: versione
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
ref_name='${{ inputs.ref-name }}'
|
|
|
|
if [[ -z "$ref_name" ]]; then
|
|
echo "Input 'ref-name' mancante."
|
|
exit 1
|
|
fi
|
|
|
|
tag="${ref_name#v}"
|
|
|
|
if [[ "$tag" =~ ^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(-.+)?$ ]]; then
|
|
appver="${BASH_REMATCH[1]}"
|
|
suffix="${BASH_REMATCH[2]:-}"
|
|
else
|
|
echo "Formato tag non valido: '$ref_name'. Atteso: v1.0.0.0 oppure v1.0.0.0-suffisso"
|
|
exit 1
|
|
fi
|
|
|
|
fullver="$appver$suffix"
|
|
version="${appver//./}$suffix"
|
|
|
|
echo "appver=$appver" >> "$GITHUB_OUTPUT"
|
|
echo "fullver=$fullver" >> "$GITHUB_OUTPUT"
|
|
echo "suffix=$suffix" >> "$GITHUB_OUTPUT"
|
|
echo "version=$version" >> "$GITHUB_OUTPUT"
|