From 61952017e566b555bbac3ce4e97133c4ac0150c8 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Mon, 20 Nov 2023 17:18:36 +0100 Subject: [PATCH 01/15] devops: ported new version suffix logic --- build/azure-pipelines.yml | 2 ++ build/templates/build.yml | 49 +++++++++++++++++++++++++++++-------- build/templates/package.yml | 22 ++++++++++++----- 3 files changed, 57 insertions(+), 16 deletions(-) diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index 065a452..7de1038 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -31,6 +31,7 @@ stages: parameters: dotNetCoreVersion: $(DOTNET_CORE_SDK) useVersionSuffix: true + propsFile: 'Firely.Fhir.Packages.props' packageArtifacts: true restoreDependencies: true nuGetServiceConnections: GitHubPackageGetFeed @@ -43,6 +44,7 @@ stages: parameters: dotNetCoreVersion: $(DOTNET_CORE_SDK) useVersionSuffix: false + propsFile: 'Firely.Fhir.Packages.props' packageArtifacts: true restoreDependencies: true pool: diff --git a/build/templates/build.yml b/build/templates/build.yml index b60bf33..f2c4127 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -4,7 +4,8 @@ parameters: # Default values dotNetCoreVersion: '3.1.102' # can also be use with wildcards: latest minor version of 3. , use '3.x' - useVersionSuffix: true + useVersionSuffix: true # if true, the build number will be added as or to the existing version suffix + propsFile: '' # used for versionSuffix, if not empty, the versionSuffix will be read from the props file restoreDependencies: false nuGetServiceConnections: #required when restoreDependies = true nuGetSources: #required when restoreDependies = true @@ -28,23 +29,49 @@ jobs: - checkout: self submodules: true + ## retrieve the version suffix from the props file and set it as a variable + - powershell: | + [string]$propsFile = '${{ parameters.propsFile }}' + [string]$versionSuffix = '' + if ([string]::IsNullOrEmpty($propsFile) -eq $false) + { + $xml = [xml](get-content $propsFile) + #Get the suffix version + $versionSuffix = $xml.Project.PropertyGroup.VersionSuffix + $versionSuffix = $versionSuffix.Trim() + } + Write-Host "Version Suffix: $versionSuffix" + Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" + displayName: 'Retrieve version suffix' + - powershell: | + Write-Host "Updating Build Number to Version Suffix" + [string]$versionSuffix = '$(VersionSuffix)' + if ([string]::IsNullOrEmpty($versionSuffix)) + { + $versionSuffix = $env:BUILD_BUILDNUMBER + } + else + { + $versionSuffix = $versionSuffix + "-" + $env:BUILD_BUILDNUMBER + } + Write-Host "Updated version Suffix: $versionSuffix" + Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" + displayName: 'Add buildnumber to version suffix' + condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'true')) + - ${{ if eq(parameters.restoreDependencies, 'true') }}: - template: restore.yml@templates parameters: nuGetServiceConnections: ${{ parameters.nuGetServiceConnections }} nuGetSources: ${{ parameters.nuGetSources }} - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --no-restore /p:ContinuousIntegrationBuild=true - displayName: 'dotnet build $(buildConfiguration) with version suffix and no restore' - condition: and(succeeded(), and(eq('${{ parameters.useVersionSuffix }}', 'true'), eq('${{ parameters.restoreDependencies }}', 'true'))) - - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) /p:ContinuousIntegrationBuild=true - displayName: 'dotnet build $(buildConfiguration) with version suffix' - condition: and(succeeded(), and(eq('${{ parameters.useVersionSuffix }}', 'true'), eq('${{ parameters.restoreDependencies }}', 'false'))) + - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore + displayName: 'dotnet build $(buildConfiguration) with no restore' + condition: and(succeeded(), eq('${{ parameters.restoreDependencies }}', 'true')) - - script: dotnet build --configuration $(buildConfiguration) /p:ContinuousIntegrationBuild=true + - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration)' - condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'false')) + condition: and(succeeded(), eq('${{ parameters.restoreDependencies }}', 'false')) - task: DotNetCoreCLI@2 displayName: 'dotnet test UnitTests' @@ -60,11 +87,13 @@ jobs: parameters: artifactName: ${{parameters.packageArtifactName}} useVersionSuffix: ${{ parameters.useVersionSuffix }} + versionSuffix: $(VersionSuffix) - ${{ if eq(parameters.publishArtifacts, 'true') }}: - template: publish.yml@templates parameters: useVersionSuffix: ${{ parameters.useVersionSuffix }} + versionSuffix: $(VersionSuffix) publishWebProjects: ${{ parameters.publishWebProjects }} zipAfterPublish: ${{ parameters.zipAfterPublish }} diff --git a/build/templates/package.yml b/build/templates/package.yml index bf9871b..17d234e 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -1,17 +1,27 @@ parameters: # Default values useVersionSuffix: true + versionSuffix: '' artifactName: 'NuGetPackages' steps: - # Package nugets - - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --output $(Build.artifactStagingDirectory)/packages - displayName: 'dotnet pack $(buildConfiguration) with version suffix' - condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'true')) + - powershell: | + [string] $versionSuffix = '${{ parameters.versionSuffix }}' + [string] $useVersionSuffix = ${{ parameters.useVersionSuffix }} + + if ([string]::IsNullOrEmpty($versionSuffix) -and $useVersionSuffix -eq 'true') + { + $versionSuffix = $env:BUILD_BUILDNUMBER + } + + Write-Host "Version Suffix: $versionSuffix" + Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" + displayName: 'Retrieve version suffix for packaging' - - script: dotnet pack --no-build --configuration $(buildConfiguration) --output $(Build.artifactStagingDirectory)/packages + # Package nugets + - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration)' - condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'false')) + condition: succeeded() - template: codesign-nuget-packages.yml@templates parameters: From 66bff0f3fb16b6fc4a79dc2cec2c6e91ee60e9a5 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:13:39 +0100 Subject: [PATCH 02/15] version-suffix parameter cannot be empty --- build/templates/build.yml | 24 ++++++++++++++++++++++-- build/templates/package.yml | 26 +++++++++++++++++++++----- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index f2c4127..b000e0f 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -59,6 +59,18 @@ jobs: displayName: 'Add buildnumber to version suffix' condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'true')) + - powershell: | + Write-Host "Determining if version suffix should be used" + + [string]$useVersionSuffix = $true + if ([string]::IsNullOrEmpty($VersionSuffix)) + { + $useVersionSuffix = $false + } + Write-Host "Use Version Suffix: $useVersionSuffix" + Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" + displayName: 'Determine version suffix use' + - ${{ if eq(parameters.restoreDependencies, 'true') }}: - template: restore.yml@templates parameters: @@ -67,11 +79,19 @@ jobs: - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with no restore' - condition: and(succeeded(), eq('${{ parameters.restoreDependencies }}', 'true')) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), $false))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration)' - condition: and(succeeded(), eq('${{ parameters.restoreDependencies }}', 'false')) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), $false))) + + - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore + displayName: 'dotnet build $(buildConfiguration) with version suffix and with no restore' + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), $true))) + + - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) + displayName: 'dotnet build $(buildConfiguration) with version suffix' + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), $true))) - task: DotNetCoreCLI@2 displayName: 'dotnet test UnitTests' diff --git a/build/templates/package.yml b/build/templates/package.yml index 17d234e..953272c 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -1,15 +1,15 @@ parameters: # Default values - useVersionSuffix: true + useVersionSuffix: true #add build number to version suffix versionSuffix: '' artifactName: 'NuGetPackages' steps: - powershell: | [string] $versionSuffix = '${{ parameters.versionSuffix }}' - [string] $useVersionSuffix = ${{ parameters.useVersionSuffix }} + [string] $addBuildNumber = ${{ parameters.useVersionSuffix }} - if ([string]::IsNullOrEmpty($versionSuffix) -and $useVersionSuffix -eq 'true') + if ([string]::IsNullOrEmpty($versionSuffix) -and $addBuildNumber -eq 'true') { $versionSuffix = $env:BUILD_BUILDNUMBER } @@ -18,10 +18,26 @@ steps: Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" displayName: 'Retrieve version suffix for packaging' + - powershell: | + Write-Host "Determining if version suffix should be used" + + [string]$useVersionSuffix = $true + if ([string]::IsNullOrEmpty($VersionSuffix)) + { + $useVersionSuffix = $false + } + Write-Host "Use Version Suffix: $useVersionSuffix" + Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" + displayName: 'Determine version suffix use' + # Package nugets - - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --output $(Build.artifactStagingDirectory)/packages + - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --output $(Build.artifactStagingDirectory)/packages + displayName: 'dotnet pack $(buildConfiguration) with version suffix' + condition: and(succeeded(), eq($(UseVersionSuffix), $true)) + + - script: dotnet pack --no-build --configuration $(buildConfiguration) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration)' - condition: succeeded() + condition: and(succeeded(), eq($(UseVersionSuffix), $false)) - template: codesign-nuget-packages.yml@templates parameters: From 579506e9ef08e76b6b93842f13e857f093ad0406 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:15:14 +0100 Subject: [PATCH 03/15] tabs --- build/templates/build.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index b000e0f..50c87d8 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -59,17 +59,17 @@ jobs: displayName: 'Add buildnumber to version suffix' condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'true')) - - powershell: | - Write-Host "Determining if version suffix should be used" - - [string]$useVersionSuffix = $true - if ([string]::IsNullOrEmpty($VersionSuffix)) - { - $useVersionSuffix = $false - } - Write-Host "Use Version Suffix: $useVersionSuffix" - Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" - displayName: 'Determine version suffix use' + - powershell: | + Write-Host "Determining if version suffix should be used" + + [string]$useVersionSuffix = $true + if ([string]::IsNullOrEmpty($VersionSuffix)) + { + $useVersionSuffix = $false + } + Write-Host "Use Version Suffix: $useVersionSuffix" + Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" + displayName: 'Determine version suffix use' - ${{ if eq(parameters.restoreDependencies, 'true') }}: - template: restore.yml@templates From 808978b32e4c041adf5a1111d483ea43d7e77c14 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:16:56 +0100 Subject: [PATCH 04/15] use bool instead of string --- build/templates/build.yml | 2 +- build/templates/package.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index 50c87d8..ffb72f8 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -62,7 +62,7 @@ jobs: - powershell: | Write-Host "Determining if version suffix should be used" - [string]$useVersionSuffix = $true + [bool]$useVersionSuffix = $true if ([string]::IsNullOrEmpty($VersionSuffix)) { $useVersionSuffix = $false diff --git a/build/templates/package.yml b/build/templates/package.yml index 953272c..a18e90d 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -21,7 +21,7 @@ steps: - powershell: | Write-Host "Determining if version suffix should be used" - [string]$useVersionSuffix = $true + [bool]$useVersionSuffix = $true if ([string]::IsNullOrEmpty($VersionSuffix)) { $useVersionSuffix = $false From 17b5b4aec4af30bb14dc6d608008428242dc1ae8 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:19:22 +0100 Subject: [PATCH 05/15] tabs --- build/templates/build.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index ffb72f8..c75617c 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -60,15 +60,15 @@ jobs: condition: and(succeeded(), eq('${{ parameters.useVersionSuffix }}', 'true')) - powershell: | - Write-Host "Determining if version suffix should be used" - - [bool]$useVersionSuffix = $true - if ([string]::IsNullOrEmpty($VersionSuffix)) - { - $useVersionSuffix = $false - } - Write-Host "Use Version Suffix: $useVersionSuffix" - Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" + Write-Host "Determining if version suffix should be used" + + [bool]$useVersionSuffix = $true + if ([string]::IsNullOrEmpty($VersionSuffix)) + { + $useVersionSuffix = $false + } + Write-Host "Use Version Suffix: $useVersionSuffix" + Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" displayName: 'Determine version suffix use' - ${{ if eq(parameters.restoreDependencies, 'true') }}: From 400d6cec8d576dc6dfea5c18743ca4f4f4f5ac81 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:21:10 +0100 Subject: [PATCH 06/15] tab --- build/templates/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index c75617c..dec4139 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -69,7 +69,7 @@ jobs: } Write-Host "Use Version Suffix: $useVersionSuffix" Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" - displayName: 'Determine version suffix use' + displayName: 'Determine version suffix use' - ${{ if eq(parameters.restoreDependencies, 'true') }}: - template: restore.yml@templates From 37b3e95fe8c65d542f74d60b66ba466c7855971d Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:25:13 +0100 Subject: [PATCH 07/15] changed bools into strings --- build/templates/build.yml | 12 ++++++------ build/templates/package.yml | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index dec4139..5b05c22 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -62,10 +62,10 @@ jobs: - powershell: | Write-Host "Determining if version suffix should be used" - [bool]$useVersionSuffix = $true + [string]$useVersionSuffix = 'true' if ([string]::IsNullOrEmpty($VersionSuffix)) { - $useVersionSuffix = $false + $useVersionSuffix = 'false' } Write-Host "Use Version Suffix: $useVersionSuffix" Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" @@ -79,19 +79,19 @@ jobs: - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with no restore' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), $false))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), 'false'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration)' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), $false))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), 'false'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with version suffix and with no restore' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), $true))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), 'true'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration) with version suffix' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), $true))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), 'true'))) - task: DotNetCoreCLI@2 displayName: 'dotnet test UnitTests' diff --git a/build/templates/package.yml b/build/templates/package.yml index a18e90d..94ea5df 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -21,10 +21,10 @@ steps: - powershell: | Write-Host "Determining if version suffix should be used" - [bool]$useVersionSuffix = $true + [string]$useVersionSuffix = 'true' if ([string]::IsNullOrEmpty($VersionSuffix)) { - $useVersionSuffix = $false + $useVersionSuffix = 'false' } Write-Host "Use Version Suffix: $useVersionSuffix" Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" @@ -33,11 +33,11 @@ steps: # Package nugets - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration) with version suffix' - condition: and(succeeded(), eq($(UseVersionSuffix), $true)) + condition: and(succeeded(), eq($(UseVersionSuffix), 'true')) - script: dotnet pack --no-build --configuration $(buildConfiguration) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration)' - condition: and(succeeded(), eq($(UseVersionSuffix), $false)) + condition: and(succeeded(), eq($(UseVersionSuffix), 'false')) - template: codesign-nuget-packages.yml@templates parameters: From ba46a23de5c380abeeb0c59bc38747ef75e53a3f Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:28:42 +0100 Subject: [PATCH 08/15] use variables notation --- build/templates/build.yml | 8 ++++---- build/templates/package.yml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index 5b05c22..11d8fdd 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -79,19 +79,19 @@ jobs: - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with no restore' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), 'false'))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq(variables.UseVersionSuffix, 'false'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration)' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), 'false'))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq(variables.UseVersionSuffix, 'false'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with version suffix and with no restore' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq($(UseVersionSuffix), 'true'))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq(variables.UseVersionSuffix, 'true'))) - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration) with version suffix' - condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq($(UseVersionSuffix), 'true'))) + condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq(variables.UseVersionSuffix, 'true'))) - task: DotNetCoreCLI@2 displayName: 'dotnet test UnitTests' diff --git a/build/templates/package.yml b/build/templates/package.yml index 94ea5df..03a8df6 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -33,11 +33,11 @@ steps: # Package nugets - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration) with version suffix' - condition: and(succeeded(), eq($(UseVersionSuffix), 'true')) + condition: and(succeeded(), eq(variables.UseVersionSuffix, 'true')) - script: dotnet pack --no-build --configuration $(buildConfiguration) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration)' - condition: and(succeeded(), eq($(UseVersionSuffix), 'false')) + condition: and(succeeded(), eq(variables.UseVersionSuffix, 'false')) - template: codesign-nuget-packages.yml@templates parameters: From 39d058306f7baabc73d09ad0983e94e933a0d481 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:34:26 +0100 Subject: [PATCH 09/15] try this --- build/templates/build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index 11d8fdd..27c7d20 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -63,10 +63,15 @@ jobs: Write-Host "Determining if version suffix should be used" [string]$useVersionSuffix = 'true' - if ([string]::IsNullOrEmpty($VersionSuffix)) + [string]$versionSuffix = '$(VersionSuffix)' + + Write-Host "Version Suffix: $versionSuffix" + + if ([string]::IsNullOrEmpty($versionSuffix)) { $useVersionSuffix = 'false' } + Write-Host "Use Version Suffix: $useVersionSuffix" Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" displayName: 'Determine version suffix use' From 6119fb549f0e7c766df1c171baa9b1d622926a84 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:41:53 +0100 Subject: [PATCH 10/15] test if release build works --- Firely.Fhir.Packages.props | 2 +- build/azure-pipelines.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firely.Fhir.Packages.props b/Firely.Fhir.Packages.props index 14ed80b..b7933dd 100644 --- a/Firely.Fhir.Packages.props +++ b/Firely.Fhir.Packages.props @@ -12,7 +12,7 @@ 9.0 4.2.1 - alpha + Firely Firely (https://fire.ly) Copyright 2013-2022 Firely diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index 7de1038..450960a 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -30,7 +30,7 @@ stages: - template: templates/build.yml # Template reference parameters: dotNetCoreVersion: $(DOTNET_CORE_SDK) - useVersionSuffix: true + useVersionSuffix: false propsFile: 'Firely.Fhir.Packages.props' packageArtifacts: true restoreDependencies: true From 6560882b19d286d642af1e7e303829a049f4346a Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:48:12 +0100 Subject: [PATCH 11/15] Revert "test if release build works" This reverts commit 6119fb549f0e7c766df1c171baa9b1d622926a84. --- Firely.Fhir.Packages.props | 2 +- build/azure-pipelines.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Firely.Fhir.Packages.props b/Firely.Fhir.Packages.props index b7933dd..14ed80b 100644 --- a/Firely.Fhir.Packages.props +++ b/Firely.Fhir.Packages.props @@ -12,7 +12,7 @@ 9.0 4.2.1 - + alpha Firely Firely (https://fire.ly) Copyright 2013-2022 Firely diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index 450960a..7de1038 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -30,7 +30,7 @@ stages: - template: templates/build.yml # Template reference parameters: dotNetCoreVersion: $(DOTNET_CORE_SDK) - useVersionSuffix: false + useVersionSuffix: true propsFile: 'Firely.Fhir.Packages.props' packageArtifacts: true restoreDependencies: true From 75db49c5ecaee199b99adbdd3153557ab940e4fc Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 08:49:06 +0100 Subject: [PATCH 12/15] fix packaging --- build/templates/package.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/build/templates/package.yml b/build/templates/package.yml index 03a8df6..1467e1c 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -20,18 +20,23 @@ steps: - powershell: | Write-Host "Determining if version suffix should be used" - + [string]$useVersionSuffix = 'true' - if ([string]::IsNullOrEmpty($VersionSuffix)) + [string]$versionSuffix = '$(VersionSuffix)' + + Write-Host "Version Suffix: $versionSuffix" + + if ([string]::IsNullOrEmpty($versionSuffix)) { $useVersionSuffix = 'false' } + Write-Host "Use Version Suffix: $useVersionSuffix" Write-Host "##vso[task.setvariable variable=UseVersionSuffix]$useVersionSuffix" - displayName: 'Determine version suffix use' + displayName: 'Determine version suffix use for packaging' # Package nugets - - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(build.buildNumber) --output $(Build.artifactStagingDirectory)/packages + - script: dotnet pack --no-build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --output $(Build.artifactStagingDirectory)/packages displayName: 'dotnet pack $(buildConfiguration) with version suffix' condition: and(succeeded(), eq(variables.UseVersionSuffix, 'true')) From 7ea9a2c409b5dcc4cf3d484f7901ec153db465e9 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 17:55:20 +0100 Subject: [PATCH 13/15] add quotes --- build/templates/package.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/templates/package.yml b/build/templates/package.yml index 1467e1c..822f0ce 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -7,8 +7,10 @@ parameters: steps: - powershell: | [string] $versionSuffix = '${{ parameters.versionSuffix }}' - [string] $addBuildNumber = ${{ parameters.useVersionSuffix }} + [string] $addBuildNumber = '${{ parameters.useVersionSuffix }}' + Write-Host "Add Build Number: $addBuildNumber" + if ([string]::IsNullOrEmpty($versionSuffix) -and $addBuildNumber -eq 'true') { $versionSuffix = $env:BUILD_BUILDNUMBER @@ -16,7 +18,7 @@ steps: Write-Host "Version Suffix: $versionSuffix" Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" - displayName: 'Retrieve version suffix for packaging' + displayName: 'Retrieve version suffix for publishing' - powershell: | Write-Host "Determining if version suffix should be used" From e8e6e865ea8e94f297381622c0c45ed9c939c349 Mon Sep 17 00:00:00 2001 From: mmsmits Date: Tue, 21 Nov 2023 17:57:47 +0100 Subject: [PATCH 14/15] fix display name --- build/templates/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/templates/package.yml b/build/templates/package.yml index 822f0ce..9fabaea 100644 --- a/build/templates/package.yml +++ b/build/templates/package.yml @@ -18,7 +18,7 @@ steps: Write-Host "Version Suffix: $versionSuffix" Write-Host "##vso[task.setvariable variable=VersionSuffix]$versionSuffix" - displayName: 'Retrieve version suffix for publishing' + displayName: 'Retrieve version suffix for packaging' - powershell: | Write-Host "Determining if version suffix should be used" From 86942861c225c3fee3484aa40d9e3d40bb2a7fec Mon Sep 17 00:00:00 2001 From: mmsmits Date: Mon, 27 Nov 2023 11:52:41 +0100 Subject: [PATCH 15/15] re-added /p:ContinuousIntegrationBuild=true --- build/templates/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/templates/build.yml b/build/templates/build.yml index 27c7d20..9f7138c 100644 --- a/build/templates/build.yml +++ b/build/templates/build.yml @@ -82,19 +82,19 @@ jobs: nuGetServiceConnections: ${{ parameters.nuGetServiceConnections }} nuGetSources: ${{ parameters.nuGetSources }} - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore + - script: dotnet build --configuration $(buildConfiguration) /p:ContinuousIntegrationBuild=true --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with no restore' condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq(variables.UseVersionSuffix, 'false'))) - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) + - script: dotnet build --configuration $(buildConfiguration) /p:ContinuousIntegrationBuild=true --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration)' condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq(variables.UseVersionSuffix, 'false'))) - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) --no-restore + - script: dotnet build --configuration $(buildConfiguration) /p:ContinuousIntegrationBuild=true --version-suffix $(VersionSuffix) --no-restore displayName: 'dotnet build $(buildConfiguration) with version suffix and with no restore' condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'true'), eq(variables.UseVersionSuffix, 'true'))) - - script: dotnet build --configuration $(buildConfiguration) --version-suffix $(VersionSuffix) + - script: dotnet build --configuration $(buildConfiguration) /p:ContinuousIntegrationBuild=true --version-suffix $(VersionSuffix) displayName: 'dotnet build $(buildConfiguration) with version suffix' condition: and(succeeded(), and(eq('${{ parameters.restoreDependencies }}', 'false'), eq(variables.UseVersionSuffix, 'true')))