From f68d490100a85f23614822e424a4ac9a26154e5d Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 14:56:21 -0700 Subject: [PATCH 01/23] Sign sign sign --- Config/SignClient.json | 13 ++++++++++++ Config/filelist.txt | 1 + build.yaml | 45 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 Config/SignClient.json create mode 100644 Config/filelist.txt diff --git a/Config/SignClient.json b/Config/SignClient.json new file mode 100644 index 00000000..3276a45d --- /dev/null +++ b/Config/SignClient.json @@ -0,0 +1,13 @@ +{ + "SignClient": { + "AzureAd": { + "AADInstance": "https://login.microsoftonline.com/", + "ClientId": "c248d68a-ba6f-4aa9-8a68-71fe872063f8", + "TenantId": "16076fdc-fcc1-4a15-b1ca-32c9a255900e" + }, + "Service": { + "Url": "https://codesign.dotnetfoundation.org/", + "ResourceId": "https://SignService/3c30251f-36f3-490b-a955-520addb85001" + } + } +} \ No newline at end of file diff --git a/Config/filelist.txt b/Config/filelist.txt new file mode 100644 index 00000000..ecef96db --- /dev/null +++ b/Config/filelist.txt @@ -0,0 +1 @@ +**/Kerberos.NET.* \ No newline at end of file diff --git a/build.yaml b/build.yaml index ad2d0212..f49a7ece 100644 --- a/build.yaml +++ b/build.yaml @@ -87,3 +87,48 @@ steps: - publish: artifacts displayName: Publish build packages artifact: BuildPackages + + - stage: CodeSign + condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) + jobs: + - deployment: CodeSign + displayName: Code Signing + pool: + vmImage: windows-latest + environment: Code Sign - Approvals + variables: + - group: Sign Client Credentials + strategy: + runOnce: + deploy: + steps: + # If you have MSCA: https://aka.ms/mscadocs + # - task: ms-codeanalysis.vss-microsoft-security-code-analysis-devops.build-task-antimalware.AntiMalware@3 + # displayName: AntiMalware Scan + # inputs: + # EnableServices: true + # FileDirPath: $(Pipeline.Workspace)\BuildPackages + + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . SignClient + displayName: Install SignTool tool + + - pwsh: | + .\SignClient "Sign" ` + --baseDirectory "$(Pipeline.Workspace)\BuildPackages" ` + --input "**/*.nupkg" ` + --config "$(Pipeline.Workspace)\config\SignClient.json" ` + --filelist "$(Pipeline.Workspace)\config\filelist.txt" ` + --user "$(SignClientUser)" ` + --secret "$(SignClientSecret)" ` + --name "Kerberos.NET" ` + --description "Kerberos.NET" ` + --descriptionUrl "https://github.com/dotnet/Kerberos.NET" + displayName: Sign packages + + - publish: $(Pipeline.Workspace)/BuildPackages + displayName: Publish Signed Packages + artifact: SignedPackages \ No newline at end of file From e2dce0fbdc5fdd99510c058b71ea72300389d0dd Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 14:58:51 -0700 Subject: [PATCH 02/23] Needs stage --- build.yaml | 144 +++++++++++++++++++++++++++-------------------------- 1 file changed, 73 insertions(+), 71 deletions(-) diff --git a/build.yaml b/build.yaml index f49a7ece..23f6e2c2 100644 --- a/build.yaml +++ b/build.yaml @@ -15,78 +15,80 @@ variables: BuildConfiguration: Release DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true -steps: -- task: UseDotNet@2 - displayName: 'Use .NET Core SDK 3.1.x' - inputs: - version: 3.1.302 - performMultiLevelLookup: true - -- task: DotNetCoreCLI@2 - inputs: - command: custom - custom: tool - arguments: install --tool-path . nbgv - displayName: Install NBGV tool - -- script: nbgv cloud - displayName: Set Version - -- task: MSBuild@1 - displayName: 'Build solution Kerberos.NET.sln' - inputs: - solution: Kerberos.NET.sln - configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true - maximumCpuCount: true - -- task: DotNetCoreCLI@2 - inputs: - command: test - projects: Tests/**/*.csproj - arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" - displayName: Run Unit Tests - -- task: DotNetCoreCLI@2 - inputs: - command: 'pack' - packagesToPack: './Bruce/Bruce.csproj' - nobuild: true - displayName: Pack Bruce tool +stages: +-stage: Build + steps: + - task: UseDotNet@2 + displayName: 'Use .NET Core SDK 3.1.x' + inputs: + version: 3.1.302 + performMultiLevelLookup: true + + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . nbgv + displayName: Install NBGV tool + + - script: nbgv cloud + displayName: Set Version + + - task: MSBuild@1 + displayName: 'Build solution Kerberos.NET.sln' + inputs: + solution: Kerberos.NET.sln + configuration: $(BuildConfiguration) + msbuildArguments: /restore /p:CreatePackage=true + maximumCpuCount: true + + - task: DotNetCoreCLI@2 + inputs: + command: test + projects: Tests/**/*.csproj + arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" + displayName: Run Unit Tests + + - task: DotNetCoreCLI@2 + inputs: + command: 'pack' + packagesToPack: './Bruce/Bruce.csproj' + nobuild: true + displayName: Pack Bruce tool -- task: PublishBuildArtifacts@1 - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)' - publishLocation: 'Container' - -- task: DotNetCoreCLI@2 - inputs: - command: custom - custom: tool - arguments: install --tool-path . dotnet-reportgenerator-globaltool - displayName: Install ReportGenerator tool - -- script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" - displayName: Create reports - -- task: PublishCodeCoverageResults@1 - displayName: 'Publish code coverage' - inputs: - codeCoverageTool: Cobertura - summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml - -- task: NuGetAuthenticate@0 - displayName: 'NuGet Authenticate' -- task: NuGetCommand@2 - displayName: 'NuGet push' - inputs: - command: push - publishVstsFeed: 'Kerberos.NET/kerberos.net' - allowPackageConflicts: true - -- publish: artifacts - displayName: Publish build packages - artifact: BuildPackages + - task: PublishBuildArtifacts@1 + inputs: + PathtoPublish: '$(Build.ArtifactStagingDirectory)' + publishLocation: 'Container' + + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . dotnet-reportgenerator-globaltool + displayName: Install ReportGenerator tool + + - script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" + displayName: Create reports + + - task: PublishCodeCoverageResults@1 + displayName: 'Publish code coverage' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml + + - task: NuGetAuthenticate@0 + displayName: 'NuGet Authenticate' + - task: NuGetCommand@2 + displayName: 'NuGet push' + inputs: + command: push + publishVstsFeed: 'Kerberos.NET/kerberos.net' + allowPackageConflicts: true + + - publish: artifacts + displayName: Publish build packages + artifact: BuildPackages - stage: CodeSign condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) From abdf9b54300f16f7b6fd5592c6b544d988874f6b Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:01:12 -0700 Subject: [PATCH 03/23] Frickin yaml --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index 23f6e2c2..066eac40 100644 --- a/build.yaml +++ b/build.yaml @@ -16,7 +16,7 @@ variables: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true stages: --stage: Build +- stage: Build steps: - task: UseDotNet@2 displayName: 'Use .NET Core SDK 3.1.x' From 38e8f2649dd46be0c4535a4a8504e8028cb5f756 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:04:58 -0700 Subject: [PATCH 04/23] More YAML --- build.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build.yaml b/build.yaml index 066eac40..a0404388 100644 --- a/build.yaml +++ b/build.yaml @@ -8,15 +8,17 @@ pr: - develop - rel/* -pool: - vmImage: windows-latest - -variables: - BuildConfiguration: Release - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - stages: - stage: Build + jobs: + - job: Build + pool: + vmImage: windows-latest + + variables: + BuildConfiguration: Release + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + steps: - task: UseDotNet@2 displayName: 'Use .NET Core SDK 3.1.x' From f893c428484be9cbdb5d24669934b740e7d07e10 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:06:27 -0700 Subject: [PATCH 05/23] Whitespace?? --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index a0404388..c03e6c9b 100644 --- a/build.yaml +++ b/build.yaml @@ -92,7 +92,7 @@ stages: displayName: Publish build packages artifact: BuildPackages - - stage: CodeSign +- stage: CodeSign condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) jobs: - deployment: CodeSign From 7b1d1390a280868a24cba7d3c1742fb384af6626 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:09:39 -0700 Subject: [PATCH 06/23] Whitespace???? --- build.yaml | 148 ++++++++++++++++++++++++++--------------------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/build.yaml b/build.yaml index c03e6c9b..e5b4a840 100644 --- a/build.yaml +++ b/build.yaml @@ -16,81 +16,81 @@ stages: vmImage: windows-latest variables: - BuildConfiguration: Release - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - steps: - - task: UseDotNet@2 - displayName: 'Use .NET Core SDK 3.1.x' - inputs: - version: 3.1.302 - performMultiLevelLookup: true - - - task: DotNetCoreCLI@2 - inputs: - command: custom - custom: tool - arguments: install --tool-path . nbgv - displayName: Install NBGV tool - - - script: nbgv cloud - displayName: Set Version - - - task: MSBuild@1 - displayName: 'Build solution Kerberos.NET.sln' - inputs: - solution: Kerberos.NET.sln - configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true - maximumCpuCount: true - - - task: DotNetCoreCLI@2 - inputs: - command: test - projects: Tests/**/*.csproj - arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" - displayName: Run Unit Tests - - - task: DotNetCoreCLI@2 - inputs: - command: 'pack' - packagesToPack: './Bruce/Bruce.csproj' - nobuild: true - displayName: Pack Bruce tool + BuildConfiguration: Release + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + + steps: + - task: UseDotNet@2 + displayName: 'Use .NET Core SDK 3.1.x' + inputs: + version: 3.1.302 + performMultiLevelLookup: true + + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . nbgv + displayName: Install NBGV tool + + - script: nbgv cloud + displayName: Set Version + + - task: MSBuild@1 + displayName: 'Build solution Kerberos.NET.sln' + inputs: + solution: Kerberos.NET.sln + configuration: $(BuildConfiguration) + msbuildArguments: /restore /p:CreatePackage=true + maximumCpuCount: true + + - task: DotNetCoreCLI@2 + inputs: + command: test + projects: Tests/**/*.csproj + arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" + displayName: Run Unit Tests + + - task: DotNetCoreCLI@2 + inputs: + command: 'pack' + packagesToPack: './Bruce/Bruce.csproj' + nobuild: true + displayName: Pack Bruce tool - - task: PublishBuildArtifacts@1 - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)' - publishLocation: 'Container' - - - task: DotNetCoreCLI@2 - inputs: - command: custom - custom: tool - arguments: install --tool-path . dotnet-reportgenerator-globaltool - displayName: Install ReportGenerator tool - - - script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" - displayName: Create reports - - - task: PublishCodeCoverageResults@1 - displayName: 'Publish code coverage' - inputs: - codeCoverageTool: Cobertura - summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml - - - task: NuGetAuthenticate@0 - displayName: 'NuGet Authenticate' - - task: NuGetCommand@2 - displayName: 'NuGet push' - inputs: - command: push - publishVstsFeed: 'Kerberos.NET/kerberos.net' - allowPackageConflicts: true - - - publish: artifacts - displayName: Publish build packages - artifact: BuildPackages + - task: PublishBuildArtifacts@1 + inputs: + PathtoPublish: '$(Build.ArtifactStagingDirectory)' + publishLocation: 'Container' + + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . dotnet-reportgenerator-globaltool + displayName: Install ReportGenerator tool + + - script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" + displayName: Create reports + + - task: PublishCodeCoverageResults@1 + displayName: 'Publish code coverage' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml + + - task: NuGetAuthenticate@0 + displayName: 'NuGet Authenticate' + - task: NuGetCommand@2 + displayName: 'NuGet push' + inputs: + command: push + publishVstsFeed: 'Kerberos.NET/kerberos.net' + allowPackageConflicts: true + + - publish: artifacts + displayName: Publish build packages + artifact: BuildPackages - stage: CodeSign condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) From 6460a137e784c79094df22705e35705e6e851001 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:10:46 -0700 Subject: [PATCH 07/23] Update build.yaml --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index e5b4a840..29a98ec7 100644 --- a/build.yaml +++ b/build.yaml @@ -13,7 +13,7 @@ stages: jobs: - job: Build pool: - vmImage: windows-latest + vmImage: windows-latest variables: BuildConfiguration: Release From d094eca620491f7ac3f1b655b7bef1ae03719079 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 15:26:51 -0700 Subject: [PATCH 08/23] Missing config publish --- build.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.yaml b/build.yaml index 29a98ec7..4a8999a2 100644 --- a/build.yaml +++ b/build.yaml @@ -92,6 +92,10 @@ stages: displayName: Publish build packages artifact: BuildPackages + - publish: config + displayName: Publish Signing Scripts + artifact: config + - stage: CodeSign condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) jobs: From 53dbacf2ee88b5d790a4095089682e711ce48d22 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 16:06:11 -0700 Subject: [PATCH 09/23] verify its not a conditional --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index 4a8999a2..f7696ed9 100644 --- a/build.yaml +++ b/build.yaml @@ -97,7 +97,7 @@ stages: artifact: config - stage: CodeSign - condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) + # condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) jobs: - deployment: CodeSign displayName: Code Signing From 3ac22f0d104fd918853118c294a7ca2829ce6db9 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 17:53:25 -0700 Subject: [PATCH 10/23] PowerShell escaping can diaf --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index f7696ed9..5a95fc7e 100644 --- a/build.yaml +++ b/build.yaml @@ -131,7 +131,7 @@ stages: --config "$(Pipeline.Workspace)\config\SignClient.json" ` --filelist "$(Pipeline.Workspace)\config\filelist.txt" ` --user "$(SignClientUser)" ` - --secret "$(SignClientSecret)" ` + --secret '$(SignClientSecret)' ` --name "Kerberos.NET" ` --description "Kerberos.NET" ` --descriptionUrl "https://github.com/dotnet/Kerberos.NET" From 101b58f3c1b41f2f152bbce2db3cd0292baffbe3 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 18:13:17 -0700 Subject: [PATCH 11/23] Move bruce package --- build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build.yaml b/build.yaml index 5a95fc7e..2a423866 100644 --- a/build.yaml +++ b/build.yaml @@ -56,6 +56,7 @@ stages: command: 'pack' packagesToPack: './Bruce/Bruce.csproj' nobuild: true + outputDir: $(Build.ArtifactStagingDirectory) displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 From 9b4b588da0173cf12b47160ae63b4d0bf35c1250 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:18:13 -0700 Subject: [PATCH 12/23] Update build.yaml for Azure Pipelines --- build.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.yaml b/build.yaml index 2a423866..4f060273 100644 --- a/build.yaml +++ b/build.yaml @@ -93,6 +93,10 @@ stages: displayName: Publish build packages artifact: BuildPackages + - publish: artifacts + displayName: Publish build packages + artifact: drop + - publish: config displayName: Publish Signing Scripts artifact: config From 1dce1735b63bb2349cd6ba6a32da7b06bce22629 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:26:10 -0700 Subject: [PATCH 13/23] Update build.yaml for Azure Pipelines --- build.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build.yaml b/build.yaml index 4f060273..1d1e2c89 100644 --- a/build.yaml +++ b/build.yaml @@ -56,7 +56,7 @@ stages: command: 'pack' packagesToPack: './Bruce/Bruce.csproj' nobuild: true - outputDir: $(Build.ArtifactStagingDirectory) + outputDir: $(Build.ArtifactStagingDirectory)/BuildPackages displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 @@ -93,10 +93,6 @@ stages: displayName: Publish build packages artifact: BuildPackages - - publish: artifacts - displayName: Publish build packages - artifact: drop - - publish: config displayName: Publish Signing Scripts artifact: config From d4dabf99a3e99727dd9a6a449729f0eb47f6cd2f Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:27:06 -0700 Subject: [PATCH 14/23] Update build.yaml for Azure Pipelines --- build.yaml | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/build.yaml b/build.yaml index 1d1e2c89..35675860 100644 --- a/build.yaml +++ b/build.yaml @@ -44,12 +44,12 @@ stages: msbuildArguments: /restore /p:CreatePackage=true maximumCpuCount: true - - task: DotNetCoreCLI@2 - inputs: - command: test - projects: Tests/**/*.csproj - arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" - displayName: Run Unit Tests + #- task: DotNetCoreCLI@2 + # inputs: + # command: test + # projects: Tests/**/*.csproj + # arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" + # displayName: Run Unit Tests - task: DotNetCoreCLI@2 inputs: @@ -64,30 +64,30 @@ stages: PathtoPublish: '$(Build.ArtifactStagingDirectory)' publishLocation: 'Container' - - task: DotNetCoreCLI@2 - inputs: - command: custom - custom: tool - arguments: install --tool-path . dotnet-reportgenerator-globaltool - displayName: Install ReportGenerator tool - - - script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" - displayName: Create reports - - - task: PublishCodeCoverageResults@1 - displayName: 'Publish code coverage' - inputs: - codeCoverageTool: Cobertura - summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml - - - task: NuGetAuthenticate@0 - displayName: 'NuGet Authenticate' - - task: NuGetCommand@2 - displayName: 'NuGet push' - inputs: - command: push - publishVstsFeed: 'Kerberos.NET/kerberos.net' - allowPackageConflicts: true + #- task: DotNetCoreCLI@2 + # inputs: + # command: custom + # custom: tool + # arguments: install --tool-path . dotnet-reportgenerator-globaltool + # displayName: Install ReportGenerator tool + + #- script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" + # displayName: Create reports + + #- task: PublishCodeCoverageResults@1 + # displayName: 'Publish code coverage' + # inputs: + # codeCoverageTool: Cobertura + # summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml + + #- task: NuGetAuthenticate@0 + # displayName: 'NuGet Authenticate' + #- task: NuGetCommand@2 + # displayName: 'NuGet push' + # inputs: + # command: push + # publishVstsFeed: 'Kerberos.NET/kerberos.net' + # allowPackageConflicts: true - publish: artifacts displayName: Publish build packages From c87f23d0b47ceeea63379ded0585ce982b237c04 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:34:43 -0700 Subject: [PATCH 15/23] Update build.yaml for Azure Pipelines --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index 35675860..aced7262 100644 --- a/build.yaml +++ b/build.yaml @@ -56,7 +56,7 @@ stages: command: 'pack' packagesToPack: './Bruce/Bruce.csproj' nobuild: true - outputDir: $(Build.ArtifactStagingDirectory)/BuildPackages + outputDir: $(Build.ArtifactStagingDirectory)/../BuildPackages displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 From e336c16cdb0ff691fa7754dd0dd978b1373a875c Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:36:05 -0700 Subject: [PATCH 16/23] Add bruce to sign list --- Config/filelist.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Config/filelist.txt b/Config/filelist.txt index ecef96db..c3cb39d8 100644 --- a/Config/filelist.txt +++ b/Config/filelist.txt @@ -1 +1,2 @@ -**/Kerberos.NET.* \ No newline at end of file +**/Kerberos.NET.* +**/Bruce.* \ No newline at end of file From c0c7b09e3d67761596601f1fa3821f1e5518eefc Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:47:18 -0700 Subject: [PATCH 17/23] Update build.yaml for Azure Pipelines --- build.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.yaml b/build.yaml index aced7262..f4d3198f 100644 --- a/build.yaml +++ b/build.yaml @@ -41,7 +41,7 @@ stages: inputs: solution: Kerberos.NET.sln configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true + msbuildArguments: /restore /p:CreatePackage=true /p:OutputPath=$(Build.ArtifactStagingDirectory) maximumCpuCount: true #- task: DotNetCoreCLI@2 @@ -56,12 +56,13 @@ stages: command: 'pack' packagesToPack: './Bruce/Bruce.csproj' nobuild: true - outputDir: $(Build.ArtifactStagingDirectory)/../BuildPackages + outputDir: $(Build.ArtifactStagingDirectory) displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' + artifactName: drop publishLocation: 'Container' #- task: DotNetCoreCLI@2 From 17c485ebe3af5935464af932b05c6ec45b06d210 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 19:54:13 -0700 Subject: [PATCH 18/23] Update build.yaml for Azure Pipelines --- build.yaml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/build.yaml b/build.yaml index f4d3198f..5556e844 100644 --- a/build.yaml +++ b/build.yaml @@ -41,7 +41,7 @@ stages: inputs: solution: Kerberos.NET.sln configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true /p:OutputPath=$(Build.ArtifactStagingDirectory) + msbuildArguments: /restore /p:CreatePackage=true maximumCpuCount: true #- task: DotNetCoreCLI@2 @@ -62,7 +62,6 @@ stages: - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' - artifactName: drop publishLocation: 'Container' #- task: DotNetCoreCLI@2 @@ -137,8 +136,25 @@ stages: --name "Kerberos.NET" ` --description "Kerberos.NET" ` --descriptionUrl "https://github.com/dotnet/Kerberos.NET" - displayName: Sign packages + displayName: Sign Kerberos.NET + + - pwsh: | + .\SignClient "Sign" ` + --baseDirectory "$(Pipeline.Workspace)\drop" ` + --input "**/*.nupkg" ` + --config "$(Pipeline.Workspace)\config\SignClient.json" ` + --filelist "$(Pipeline.Workspace)\config\filelist.txt" ` + --user "$(SignClientUser)" ` + --secret '$(SignClientSecret)' ` + --name "Bruce" ` + --description "Commandline tool for Kerberos.NET" ` + --descriptionUrl "https://github.com/dotnet/Kerberos.NET" + displayName: Sign Bruce - publish: $(Pipeline.Workspace)/BuildPackages + displayName: Publish Signed Packages + artifact: SignedPackages + + - publish: $(Pipeline.Workspace)/drop displayName: Publish Signed Packages artifact: SignedPackages \ No newline at end of file From 3ddcaa0b9bd7cc9bfbf650724e9e0d01f8138360 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 20:05:18 -0700 Subject: [PATCH 19/23] Update build.yaml for Azure Pipelines --- build.yaml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/build.yaml b/build.yaml index 5556e844..2fca1fa6 100644 --- a/build.yaml +++ b/build.yaml @@ -41,7 +41,7 @@ stages: inputs: solution: Kerberos.NET.sln configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true + msbuildArguments: /restore /p:CreatePackage=true /p:OutputDir=$(Build.ArtifactStagingDirectory) maximumCpuCount: true #- task: DotNetCoreCLI@2 @@ -137,19 +137,6 @@ stages: --description "Kerberos.NET" ` --descriptionUrl "https://github.com/dotnet/Kerberos.NET" displayName: Sign Kerberos.NET - - - pwsh: | - .\SignClient "Sign" ` - --baseDirectory "$(Pipeline.Workspace)\drop" ` - --input "**/*.nupkg" ` - --config "$(Pipeline.Workspace)\config\SignClient.json" ` - --filelist "$(Pipeline.Workspace)\config\filelist.txt" ` - --user "$(SignClientUser)" ` - --secret '$(SignClientSecret)' ` - --name "Bruce" ` - --description "Commandline tool for Kerberos.NET" ` - --descriptionUrl "https://github.com/dotnet/Kerberos.NET" - displayName: Sign Bruce - publish: $(Pipeline.Workspace)/BuildPackages displayName: Publish Signed Packages From bca4fc7088ca10b06b1cff955a42b876e0dc21a1 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 20:12:39 -0700 Subject: [PATCH 20/23] Update build.yaml for Azure Pipelines --- build.yaml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/build.yaml b/build.yaml index 2fca1fa6..a177f408 100644 --- a/build.yaml +++ b/build.yaml @@ -51,13 +51,21 @@ stages: # arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" # displayName: Run Unit Tests - - task: DotNetCoreCLI@2 + - task: MSBuild@1 + displayName: 'Build Bruce' inputs: - command: 'pack' - packagesToPack: './Bruce/Bruce.csproj' - nobuild: true - outputDir: $(Build.ArtifactStagingDirectory) - displayName: Pack Bruce tool + solution: bruce/bruce.csproj + configuration: $(BuildConfiguration) + msbuildArguments: /restore /p:CreatePackage=true /p:OutputDir=$(Build.ArtifactStagingDirectory) + maximumCpuCount: true + + #- task: DotNetCoreCLI@2 + # inputs: + # command: 'pack' + # packagesToPack: './Bruce/Bruce.csproj' + # nobuild: true + # outputDir: $(Build.ArtifactStagingDirectory) + # displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 inputs: @@ -139,9 +147,5 @@ stages: displayName: Sign Kerberos.NET - publish: $(Pipeline.Workspace)/BuildPackages - displayName: Publish Signed Packages - artifact: SignedPackages - - - publish: $(Pipeline.Workspace)/drop displayName: Publish Signed Packages artifact: SignedPackages \ No newline at end of file From 8d7bdf3d5474deb4f94ade67cbadb8032d8a4b41 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 20:19:23 -0700 Subject: [PATCH 21/23] Update build.yaml for Azure Pipelines --- build.yaml | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/build.yaml b/build.yaml index a177f408..05b04ecf 100644 --- a/build.yaml +++ b/build.yaml @@ -41,7 +41,7 @@ stages: inputs: solution: Kerberos.NET.sln configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true /p:OutputDir=$(Build.ArtifactStagingDirectory) + msbuildArguments: /restore /p:CreatePackage=true maximumCpuCount: true #- task: DotNetCoreCLI@2 @@ -51,21 +51,13 @@ stages: # arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" # displayName: Run Unit Tests - - task: MSBuild@1 - displayName: 'Build Bruce' + - task: DotNetCoreCLI@2 inputs: - solution: bruce/bruce.csproj - configuration: $(BuildConfiguration) - msbuildArguments: /restore /p:CreatePackage=true /p:OutputDir=$(Build.ArtifactStagingDirectory) - maximumCpuCount: true - - #- task: DotNetCoreCLI@2 - # inputs: - # command: 'pack' - # packagesToPack: './Bruce/Bruce.csproj' - # nobuild: true - # outputDir: $(Build.ArtifactStagingDirectory) - # displayName: Pack Bruce tool + command: 'pack' + packagesToPack: './Bruce/Bruce.csproj' + nobuild: true + outputDir: $(Build.ArtifactStagingDirectory) + displayName: Pack Bruce tool - task: PublishBuildArtifacts@1 inputs: @@ -145,7 +137,24 @@ stages: --description "Kerberos.NET" ` --descriptionUrl "https://github.com/dotnet/Kerberos.NET" displayName: Sign Kerberos.NET + + - pwsh: | + .\SignClient "Sign" ` + --baseDirectory "$(Pipeline.Workspace)\drop" ` + --input "**/*.nupkg" ` + --config "$(Pipeline.Workspace)\config\SignClient.json" ` + --filelist "$(Pipeline.Workspace)\config\filelist.txt" ` + --user "$(SignClientUser)" ` + --secret '$(SignClientSecret)' ` + --name "Bruce" ` + --description "Commandline client for Kerberos.NET" ` + --descriptionUrl "https://github.com/dotnet/Kerberos.NET" + displayName: Sign Bruce - publish: $(Pipeline.Workspace)/BuildPackages displayName: Publish Signed Packages - artifact: SignedPackages \ No newline at end of file + artifact: SignedPackages + + - publish: $(Pipeline.Workspace)/BuildPackages + displayName: Publish Signed Drop + artifact: SignedDrop \ No newline at end of file From 63e3043069f48959e3ba4b037cc0833660b711ee Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 20:25:41 -0700 Subject: [PATCH 22/23] Update build.yaml for Azure Pipelines --- build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yaml b/build.yaml index 05b04ecf..4a8d758e 100644 --- a/build.yaml +++ b/build.yaml @@ -155,6 +155,6 @@ stages: displayName: Publish Signed Packages artifact: SignedPackages - - publish: $(Pipeline.Workspace)/BuildPackages + - publish: $(Pipeline.Workspace)/Drop displayName: Publish Signed Drop artifact: SignedDrop \ No newline at end of file From e0658937c4a0f383d5cbecc2dbb29bddd43cefa0 Mon Sep 17 00:00:00 2001 From: Steve Syfuhs Date: Tue, 20 Oct 2020 20:33:22 -0700 Subject: [PATCH 23/23] Update build.yaml for Azure Pipelines --- build.yaml | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/build.yaml b/build.yaml index 4a8d758e..7109e053 100644 --- a/build.yaml +++ b/build.yaml @@ -44,12 +44,12 @@ stages: msbuildArguments: /restore /p:CreatePackage=true maximumCpuCount: true - #- task: DotNetCoreCLI@2 - # inputs: - # command: test - # projects: Tests/**/*.csproj - # arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" - # displayName: Run Unit Tests + - task: DotNetCoreCLI@2 + inputs: + command: test + projects: Tests/**/*.csproj + arguments: -c $(BuildConfiguration) --no-build --no-restore --settings CodeCoverage.runsettings --collect:"XPlat Code Coverage" + displayName: Run Unit Tests - task: DotNetCoreCLI@2 inputs: @@ -64,30 +64,30 @@ stages: PathtoPublish: '$(Build.ArtifactStagingDirectory)' publishLocation: 'Container' - #- task: DotNetCoreCLI@2 - # inputs: - # command: custom - # custom: tool - # arguments: install --tool-path . dotnet-reportgenerator-globaltool - # displayName: Install ReportGenerator tool - - #- script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" - # displayName: Create reports - - #- task: PublishCodeCoverageResults@1 - # displayName: 'Publish code coverage' - # inputs: - # codeCoverageTool: Cobertura - # summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml - - #- task: NuGetAuthenticate@0 - # displayName: 'NuGet Authenticate' - #- task: NuGetCommand@2 - # displayName: 'NuGet push' - # inputs: - # command: push - # publishVstsFeed: 'Kerberos.NET/kerberos.net' - # allowPackageConflicts: true + - task: DotNetCoreCLI@2 + inputs: + command: custom + custom: tool + arguments: install --tool-path . dotnet-reportgenerator-globaltool + displayName: Install ReportGenerator tool + + - script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura" + displayName: Create reports + + - task: PublishCodeCoverageResults@1 + displayName: 'Publish code coverage' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml + + - task: NuGetAuthenticate@0 + displayName: 'NuGet Authenticate' + - task: NuGetCommand@2 + displayName: 'NuGet push' + inputs: + command: push + publishVstsFeed: 'Kerberos.NET/kerberos.net' + allowPackageConflicts: true - publish: artifacts displayName: Publish build packages