Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b586f71
Windows: Add step to verify signature
edvilme Mar 31, 2025
e55a773
DotNetCertificateName
edvilme Mar 31, 2025
bacef55
CI: Remove unnecessary checkout step
edvilme Mar 31, 2025
f955850
Windows: Update verify tool
edvilme Mar 31, 2025
c556640
Mac: Add missing variables
edvilme Mar 31, 2025
1bce5d5
Windows: Verify cert
edvilme Mar 31, 2025
04816fd
Windows: Fix script syntax
edvilme Mar 31, 2025
6c935ec
Mac: Add targets for signing in correct order
edvilme Mar 31, 2025
946298c
Windows: Use MicroBuildCodesignVerify
edvilme Mar 31, 2025
97d39bc
Windows: MicroBuildCodesignVerify glob file names
edvilme Mar 31, 2025
0ec94bc
Windows: MicroBuildCodesignVerify
edvilme Mar 31, 2025
5339172
Windows: Move MicroBuildCodesignVerify@3
edvilme Mar 31, 2025
75b75c7
Update artifactsstagingdirectory
edvilme Mar 31, 2025
9eccc84
Windows: MicroBuildCodesignVerify ExcludeSNVerify
edvilme Mar 31, 2025
163f336
Also sign .cab files
edvilme Mar 31, 2025
67397d1
Mac: AddMacEntitlements after GenerateLayout
edvilme Mar 31, 2025
b34234f
Add SignVerifyIgnore.txt
edvilme Mar 31, 2025
3575f9a
Nvmd do not sign .cab files
edvilme Mar 31, 2025
9590912
Mac: Temp disable entitlements
edvilme Mar 31, 2025
f0715de
Mac Expand certificates
edvilme Mar 31, 2025
00d5143
Remove windows-specific package
edvilme Mar 31, 2025
bfd0450
Mac: Add job parameters
edvilme Mar 31, 2025
6cc3d2c
Remove parent pool
edvilme Mar 31, 2025
017d845
Mac: Add _SignType
edvilme Mar 31, 2025
70b35ab
Mac: Restore signing
edvilme Mar 31, 2025
8be0823
Add windows pool back
edvilme Mar 31, 2025
a2dc6fc
Mac: MacDeveloperHarden
edvilme Mar 31, 2025
f4d08c3
Remove duplicate pool var
edvilme Mar 31, 2025
04dbba6
Restore redist.csproj
edvilme Mar 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 22 additions & 11 deletions .vsts-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ extends:
stages:
- stage: build
displayName: Build

jobs:
- template: /eng/common/templates-official/jobs/jobs.yml@self
parameters:
Expand Down Expand Up @@ -99,8 +100,6 @@ extends:
- name: _OfficialBuildArgs
value: ''
steps:
- checkout: self
clean: true
- script: eng\common\cibuild.cmd
-configuration $(_BuildConfig)
-prepareMachine
Expand All @@ -112,11 +111,16 @@ extends:
inputs:
sourceFolder: 'artifacts/packages/$(_BuildConfig)/Shipping/'
contents: '*.msi'
targetFolder: '$(Build.ArtifactStagingDirectory)'
targetFolder: '$(Build.ArtifactStagingDirectory)\artifacts'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added artifacts dir to isolate from other files when doing signing verification in the next step

- task: MicroBuildCodesignVerify@3
inputs:
TargetFolders: '$(Build.ArtifactStagingDirectory)\artifacts'
ExcludeSNVerify: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does ExcludeSNVerify do? May you provide the link to where this task is documented, I couldn't find it on the web.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you :)

ApprovalListPathForCerts: eng\SignVerifyIgnore.txt
- task: 1ES.PublishBuildArtifacts@1
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
PathtoPublish: '$(Build.ArtifactStagingDirectory)\artifacts'
ArtifactName: 'drop-windows'
publishLocation: 'Container'
parallel: true
Expand All @@ -132,28 +136,35 @@ extends:
_RID: osx-arm64
X64:
_RID: osx-x64
variables:
- name: _BuildConfig
value: Release
- name: _SignType
value: real
steps:
- checkout: self
clean: true
- script: eng/common/cibuild.sh
--sign
--configuration Release
-sign
--configuration $(_BuildConfig)
--prepareMachine
-p:RID=$(_RID) -p:DotNetSignType=real -p:TeamName=$(TeamName) -p:OfficialBuildId=$(Build.BuildNumber)
-p:RID=$(_RID) -p:DotNetSignType=$(_SignType) -p:TeamName=$(TeamName) -p:OfficialBuildId=$(Build.BuildNumber)
displayName: Build
- script: |
codesign -dv --verbose=4 artifacts/layout/dotnet-core-uninstall/dotnet-core-uninstall
name: VerifySignature
displayName: Verify Signature
- task: ArchiveFiles@2
condition: eq(variables['system.pullrequest.isfork'], false)
inputs:
rootFolderOrFile: 'artifacts/layout/dotnet-core-uninstall/'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'gz'
archiveFile: '$(Build.ArtifactStagingDirectory)/dotnet-core-uninstall.tar.gz'
archiveFile: '$(Build.ArtifactStagingDirectory)/artifacts/dotnet-core-uninstall.tar.gz'
replaceExistingArchive: true
- task: 1ES.PublishBuildArtifacts@1
condition: eq(variables['system.pullrequest.isfork'], false)
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts'
ArtifactName: 'drop-$(_RID)'
publishLocation: 'Container'
parallel: true
2 changes: 2 additions & 0 deletions eng/SignVerifyIgnore.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**\*.xml,ignore unsigned .xml
**\cab*.cab.cab,ignore unsigned .cab
3 changes: 2 additions & 1 deletion eng/Signing.props
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<Project>
<PropertyGroup>
<DotNetCertificateName>MicrosoftDotNet500</DotNetCertificateName>
<UseDotNetCertificate>true</UseDotNetCertificate>
</PropertyGroup>

<ItemGroup Condition="'$(RID)' == 'win-x86'">
<FileExtensionSignInfo Include=".wixpdb" CertificateName="MicrosoftDotNet500" />
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)**\*.wixpack.zip;
$(ArtifactsDir)packages\**\dotnet-core-uninstall*.msi;" />
$(ArtifactsDir)packages\**\dotnet-core-uninstall*.msi" />
</ItemGroup>

<ItemGroup Condition="'$(RID)' == 'osx-x64' OR '$(RID)' == 'osx-arm64'">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
<Project>
<!-- Entitlements are needed but not automatically added for macOS. See https://github.com/dotnet/runtime/issues/113707 -->
<!-- This generates an ad-hoc signature that will later be resigned, but keeps the entitlements. -->
<Target Name="AddMacEntitlements" AfterTargets="GenerateLayout">
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="$(MicrosoftVisualStudioEngMicroBuildCoreVersion)" />
</ItemGroup>
<Target Name="AddMacEntitlements"
BeforeTargets="SignFiles"
AfterTargets="GenerateLayout">
Comment on lines +4 to +9
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important so that this runs before MicroBuild signing

<Exec Command="codesign -s - -f --entitlements $(MSBuildThisFileDirectory)entitlements.plist $(ArtifactsDir)layout/dotnet-core-uninstall/dotnet-core-uninstall" />
</Target>
</Project>