diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml index d1107f9..94d7d7d 100644 --- a/.gitea/workflows/docker-build.yml +++ b/.gitea/workflows/docker-build.yml @@ -38,28 +38,22 @@ jobs: with: dotnet-version: '9.0.x' - - name: Generate version.json with MinVer + - name: Calcola versione e genera version.json run: | - # Fetch all tags for MinVer to work correctly + # Calcola versione tramite git describe (non richiede dotnet build) git fetch --tags --force - - # Build project to trigger MinVer (calcola versione automaticamente) - cd Data_Coupler - dotnet build -c Release /p:ContinuousIntegrationBuild=true - - # Extract version calculated by MinVer from build output - 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)" + LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") + if [ -z "$LATEST_TAG" ]; then + echo "Warning: Nessun tag Git trovato. Uso fallback." + VERSION="2.3.2" + else + VERSION="${LATEST_TAG#v}" fi - echo "MinVer calculated version: $VERSION" + echo "Versione calcolata: $VERSION (da tag: $LATEST_TAG)" - # Create version.json - cat > wwwroot/version.json < Data_Coupler/wwwroot/version.json <> "$GITHUB_ENV" @@ -181,33 +174,26 @@ jobs: dotnet --version shell: pwsh - - name: Generate version.json with MinVer + - name: Calcola versione e genera version.json run: | - # Fetch all tags for MinVer to work correctly + # Calcola versione tramite git describe (non richiede dotnet build) git fetch --tags --force - - # Build project to trigger MinVer - cd Data_Coupler - dotnet build -c Release /p:ContinuousIntegrationBuild=true - - # Extract version calculated by MinVer - $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" + $LATEST_TAG = git describe --tags --abbrev=0 2>$null + if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($LATEST_TAG)) { + Write-Host "Warning: Nessun tag Git trovato. Uso fallback." + $VERSION = "2.3.2" + } else { + $VERSION = $LATEST_TAG -replace '^v', '' } - Write-Host "MinVer calculated version: $VERSION" + Write-Host "Versione calcolata: $VERSION (da tag: $LATEST_TAG)" $COMMIT_SHA = "${{ github.sha }}" $SHORT_SHA = $COMMIT_SHA.Substring(0, 7) $BRANCH = "${{ github.ref_name }}" $BUILD_DATE = (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss UTC") - # Create version.json + # Genera version.json $versionJson = @{ version = $VERSION commitSha = $SHORT_SHA @@ -216,11 +202,10 @@ jobs: buildEnvironment = "Gitea Actions" } | 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:" - Get-Content "wwwroot\version.json" - cd .. + Get-Content "Data_Coupler\wwwroot\version.json" # Esporta la versione come variabile d'ambiente per il Docker build "APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index b53762c..4b07830 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -39,15 +39,17 @@ jobs: with: dotnet-version: '9.0.x' - - name: Calcola versione con MinVer + - name: Calcola versione run: | git fetch --tags --force - VERSION=$(cd Data_Coupler && dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>/dev/null | tail -1) - if [ -z "$VERSION" ] || [ "$VERSION" = "0.0.0-alpha.0" ]; then - echo "Warning: MinVer non ha trovato tag. Uso fallback." - VERSION="2.3.2-alpha.0.$(git rev-list --count HEAD)" + LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") + if [ -z "$LATEST_TAG" ]; then + echo "Warning: Nessun tag Git trovato su questo remote. Uso fallback." + VERSION="2.3.2" + else + VERSION="${LATEST_TAG#v}" fi - echo "Versione calcolata: $VERSION" + echo "Versione calcolata: $VERSION (da tag: $LATEST_TAG)" echo "APP_VERSION=$VERSION" >> "$GITHUB_ENV" shell: bash @@ -119,16 +121,17 @@ jobs: with: 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: | git fetch --tags --force - $VERSION = (cd Data_Coupler; dotnet msbuild -getProperty:Version -p:ContinuousIntegrationBuild=true 2>$null | Select-Object -Last 1) - if ([string]::IsNullOrWhiteSpace($VERSION) -or $VERSION -eq "0.0.0-alpha.0") { - Write-Host "Warning: MinVer non ha trovato tag. Uso fallback." - $commitCount = git rev-list --count HEAD - $VERSION = "2.3.2-alpha.0.$commitCount" + $LATEST_TAG = git describe --tags --abbrev=0 2>$null + if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($LATEST_TAG)) { + Write-Host "Warning: Nessun tag Git trovato su questo remote. Uso fallback." + $VERSION = "2.3.2" + } 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 shell: pwsh