Aggiornamento staging: Controllo di versione container #13

Merged
Alessio merged 5 commits from development into staging 2026-03-22 16:25:15 +01:00
2 changed files with 40 additions and 52 deletions
Showing only changes of commit e125e758fb - Show all commits
+24 -39
View File
@@ -38,28 +38,22 @@ jobs:
with: with:
dotnet-version: '9.0.x' dotnet-version: '9.0.x'
- name: Generate version.json with MinVer - name: Calcola versione e genera version.json
run: | run: |
# Fetch all tags for MinVer to work correctly # Calcola versione tramite git describe (non richiede dotnet build)
git fetch --tags --force git fetch --tags --force
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
# Build project to trigger MinVer (calcola versione automaticamente) if [ -z "$LATEST_TAG" ]; then
cd Data_Coupler echo "Warning: Nessun tag Git trovato. Uso fallback."
dotnet build -c Release /p:ContinuousIntegrationBuild=true VERSION="2.3.2"
else
# Extract version calculated by MinVer from build output VERSION="${LATEST_TAG#v}"
VERSION=$(dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>/dev/null | tail -1)
# Fallback if MinVer fails (no tags)
if [ -z "$VERSION" ] || [ "$VERSION" = "0.0.0-alpha.0" ]; then
echo "Warning: No git tags found. MinVer returned default. Using fallback."
VERSION="2.3.2-alpha.0.$(git rev-list --count HEAD)"
fi fi
echo "MinVer calculated version: $VERSION" echo "Versione calcolata: $VERSION (da tag: $LATEST_TAG)"
# Create version.json # Genera version.json
cat > wwwroot/version.json <<EOF cat > Data_Coupler/wwwroot/version.json <<EOF
{ {
"version": "${VERSION}", "version": "${VERSION}",
"commitSha": "${GITHUB_SHA:0:7}", "commitSha": "${GITHUB_SHA:0:7}",
@@ -70,8 +64,7 @@ jobs:
EOF EOF
echo "Generated version.json:" echo "Generated version.json:"
cat wwwroot/version.json cat Data_Coupler/wwwroot/version.json
cd ..
# Esporta la versione come variabile d'ambiente per il Docker build # Esporta la versione come variabile d'ambiente per il Docker build
echo "APP_VERSION=$VERSION" >> "$GITHUB_ENV" echo "APP_VERSION=$VERSION" >> "$GITHUB_ENV"
@@ -181,33 +174,26 @@ jobs:
dotnet --version dotnet --version
shell: pwsh shell: pwsh
- name: Generate version.json with MinVer - name: Calcola versione e genera version.json
run: | run: |
# Fetch all tags for MinVer to work correctly # Calcola versione tramite git describe (non richiede dotnet build)
git fetch --tags --force git fetch --tags --force
$LATEST_TAG = git describe --tags --abbrev=0 2>$null
# Build project to trigger MinVer if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($LATEST_TAG)) {
cd Data_Coupler Write-Host "Warning: Nessun tag Git trovato. Uso fallback."
dotnet build -c Release /p:ContinuousIntegrationBuild=true $VERSION = "2.3.2"
} else {
# Extract version calculated by MinVer $VERSION = $LATEST_TAG -replace '^v', ''
$VERSION = dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>$null | Select-Object -Last 1
# Fallback if MinVer fails (no tags)
if ([string]::IsNullOrWhiteSpace($VERSION) -or $VERSION -eq "0.0.0-alpha.0") {
Write-Host "Warning: No git tags found. MinVer returned default. Using fallback."
$commitCount = git rev-list --count HEAD
$VERSION = "2.3.2-alpha.0.$commitCount"
} }
Write-Host "MinVer calculated version: $VERSION" Write-Host "Versione calcolata: $VERSION (da tag: $LATEST_TAG)"
$COMMIT_SHA = "${{ github.sha }}" $COMMIT_SHA = "${{ github.sha }}"
$SHORT_SHA = $COMMIT_SHA.Substring(0, 7) $SHORT_SHA = $COMMIT_SHA.Substring(0, 7)
$BRANCH = "${{ github.ref_name }}" $BRANCH = "${{ github.ref_name }}"
$BUILD_DATE = (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss UTC") $BUILD_DATE = (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss UTC")
# Create version.json # Genera version.json
$versionJson = @{ $versionJson = @{
version = $VERSION version = $VERSION
commitSha = $SHORT_SHA commitSha = $SHORT_SHA
@@ -216,11 +202,10 @@ jobs:
buildEnvironment = "Gitea Actions" buildEnvironment = "Gitea Actions"
} | ConvertTo-Json } | ConvertTo-Json
$versionJson | Out-File -FilePath "wwwroot\version.json" -Encoding UTF8 $versionJson | Out-File -FilePath "Data_Coupler\wwwroot\version.json" -Encoding UTF8
Write-Host "Generated version.json:" Write-Host "Generated version.json:"
Get-Content "wwwroot\version.json" Get-Content "Data_Coupler\wwwroot\version.json"
cd ..
# Esporta la versione come variabile d'ambiente per il Docker build # Esporta la versione come variabile d'ambiente per il Docker build
"APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append "APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+16 -13
View File
@@ -39,15 +39,17 @@ jobs:
with: with:
dotnet-version: '9.0.x' dotnet-version: '9.0.x'
- name: Calcola versione con MinVer - name: Calcola versione
run: | run: |
git fetch --tags --force git fetch --tags --force
VERSION=$(cd Data_Coupler && dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>/dev/null | tail -1) LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -z "$VERSION" ] || [ "$VERSION" = "0.0.0-alpha.0" ]; then if [ -z "$LATEST_TAG" ]; then
echo "Warning: MinVer non ha trovato tag. Uso fallback." echo "Warning: Nessun tag Git trovato su questo remote. Uso fallback."
VERSION="2.3.2-alpha.0.$(git rev-list --count HEAD)" VERSION="2.3.2"
else
VERSION="${LATEST_TAG#v}"
fi fi
echo "Versione calcolata: $VERSION" echo "Versione calcolata: $VERSION (da tag: $LATEST_TAG)"
echo "APP_VERSION=$VERSION" >> "$GITHUB_ENV" echo "APP_VERSION=$VERSION" >> "$GITHUB_ENV"
shell: bash shell: bash
@@ -119,16 +121,17 @@ jobs:
with: with:
fetch-depth: 0 # Necessario per MinVer: deve percorrere tutta la storia Git per trovare i tag fetch-depth: 0 # Necessario per MinVer: deve percorrere tutta la storia Git per trovare i tag
- name: Calcola versione con MinVer - name: Calcola versione
run: | run: |
git fetch --tags --force git fetch --tags --force
$VERSION = (cd Data_Coupler; dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>$null | Select-Object -Last 1) $LATEST_TAG = git describe --tags --abbrev=0 2>$null
if ([string]::IsNullOrWhiteSpace($VERSION) -or $VERSION -eq "0.0.0-alpha.0") { if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($LATEST_TAG)) {
Write-Host "Warning: MinVer non ha trovato tag. Uso fallback." Write-Host "Warning: Nessun tag Git trovato su questo remote. Uso fallback."
$commitCount = git rev-list --count HEAD $VERSION = "2.3.2"
$VERSION = "2.3.2-alpha.0.$commitCount" } else {
$VERSION = $LATEST_TAG -replace '^v', ''
} }
Write-Host "Versione calcolata: $VERSION" Write-Host "Versione calcolata: $VERSION (da tag: $LATEST_TAG)"
"APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append "APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
shell: pwsh shell: pwsh