Commit Graph

344 Commits

Author SHA1 Message Date
Matt Mitchell a0ab0964d4
[release/5.0] Fix some post-build signing issues (#26506)
* Fix some post-build signing issues
This fixes some post-build signing issues that are present in the aspnetcore repo
1. Add the .msi extension to be signed by Microsoft400 - Msis must be signed. With in-build signing these get handled explicitly by the wixproj infrastructure. When we do post build signing, we must sign these files.
2. Remove the strong name exclusions. These exclusions are incorrect when applied in post-build and unnecessary for in-build signing. Most importantly, the aspnetcore PKT would not end up re-strong named (it doesn't need to be strong name signed by ESRP since it's strong named in-build) because the PKT doesn't match any of the StrongNameSignInfo specified in arcade. The rest of the entries seem to be mostly about optimization. I could not find any performance difference between these entries being present and not. I am not sure whether they actually even apply to any assets. Moreover, when doing post-build signing, they would conflict with the entries in runtime and other places.

Verification - I have a tool that I wrote which unpacks every file between two directories and compares the strong name, nuget, and authenticode certs between equivalent files. This is the same tool being used to verify post-build signing. This tool shows no difference in any aspnetcore produced asset.

Baseline: https://dev.azure.com/dnceng/internal/_build/results?buildId=836183&view=results
Diff: https://dev.azure.com/dnceng/internal/_build/results?buildId=837176&view=results

* Do not push VS packages for installers when PostBuildSign == true

* Output wix command packages to the installers output path

* Don't import microbuild signing targets from wix when PostBuildSign=true

* Tweaks:
- Don't sign wixpacks when not in post-build signing
- Generate a wixpack for both the original msi name (which the wixproj generates) AND the name we use in the final outputs. This is because while these files are the same, signing differentiates the certificate based on the file name, and wixpack lookup is also based on the file names. Aspnetcore and other repos have uses the final outputs (e.g. dotnet-aspnetcore-runtime-123.5..) as well as the internal names (e.g. AspNetCoreSharedFramework_x64.msi).
- Don't sign msi's when not post-build signing.

* Avoid generating sha512 files for wixpack zips

* Don't run xplat code sign jobs if PostBuildSign == true

* Change original target names

* Conditionalize codesign operations

* Add publishing flag for linux x64 and add deb sha512 generation

* Do not push the x64 linux runtime archive more than once
2020-10-14 10:19:10 -07:00
Pranav K f6723f5b0d
Do not build native when packing for template tests (#26031)
This produces a bunch of warnings and causes the quarantine build to fail. Passing NoBuildNative keeps with the theme of -NoBuild also being passed to this script
2020-09-18 09:05:14 -07:00
Epsitha Ananth 4d5b3159d8
V3 publishing (#25784)
* v3 changes
2020-09-14 07:52:32 -07:00
JC Aguilera 59714980c9
Condition VS.Redist.* to PostBuildSign (#25793) 2020-09-11 09:05:25 -07:00
Juan Hoyos dda1d33f7b
Enable ARM64 installers build. (#25579)
Changes WiX toolset used to 3.14 to support ARM64
Generates targeting pack from the x86/x64 leg, as it gets produced using a zip that gets generated there.
The ARM64 leg now produces all the necessary msi's, exe, and wixlib needed for the installer to generate a bundle.
2020-09-10 10:59:37 -07:00
Doug Bunting 12f92dbc8c
Eliminate duplicates in Helix `TestRunner` (#25663)
* Eliminate duplicates in Helix `TestRunner`
- do not add source that's already in NuGet.config
  - configuration file now part of Helix content
- do not re-set an env variable that's set in `runtests.*`

nit: simplify `%Path% setting in runtests.cmd
- always quote the value
- but, keep the `SETLOCAL` command
  - don't pollute environment on Helix agents

* Remove `--source` options we don't need anymore from `runtests.*`
- nit: add `--no-restore` to `dotnet run` command after `dotnet restore`

* Add `--arch arm64` to ARM64 `restore` build steps
- #25397
- was restoring for the wrong architecture

nit: add `--no-restore` to Helix project build steps
- already restored
2020-09-09 11:58:05 -07:00
Doug Bunting 918dfdcebc
Merge pull request #25280 from dotnet/wtgodbe/MergePreview8
Merge preview8 branch to public
2020-09-06 16:36:21 -07:00
Doug Bunting 3ef9fbee42
Quick infrastructure fix-ups (#25545)
- pin Microsoft.Net.Compilers.Toolset version to isolate us from Arcade
  - the version now matches dotnet/runtime
  - may move the pin to later version later in RC2 if needed
- double the macOS job max. length in our normal and quarantined PR runs
  - have been seeing them timeout or come very close too often
2020-09-02 19:45:36 -07:00
William Godbe e6a163be57
Merge branch 'release/5.0' into wtgodbe/MergePreview8 2020-09-01 09:47:29 -07:00
Doug Bunting bb769fe266
[release/5.0] Reduce job timeouts in aspnetcore-quarantined-pr pipeline (#25300) 2020-08-26 23:12:48 -07:00
Will Godbe 6205d66a0e Resolve merge conflicts 2020-08-26 12:07:14 -07:00
Doug Bunting 9408ed888d
Increase timeout of Windows test job (#24881)
* double the cancel timeout of Windows test job
- no consistency in failures, maybe we have more tests now?
  - both of the runs below involved test failures but results were not uploaded
  - hang dumps were inconsistent too
- https://dev.azure.com/dnceng/public/_build/results?buildId=768850
- https://dev.azure.com/dnceng/public/_build/results?buildId=768703
2020-08-13 21:05:05 -07:00
Doug Bunting 3dd75ea18d
Grab some binary logs (#22380)
* Grab binary logs for main Windows and Linux jobs
- in the Windows case, do not do this in official builds (logging slows build down)

nit: do not set variables with only two values three times

* Do not sign twice in Windows Code-sign build step

nit: correct wording in Signing.props

* !fixup! Don't grab the large x86 binary log
2020-08-11 07:10:27 +00:00
Doug Bunting 9b4dd66b11 Revert "Use preview queues (#24683)"
- go back to main VS2019 queues

This reverts commit 407b623cdf.
2020-08-10 10:33:24 -07:00
Doug Bunting 3ee7058ef0 Remove requirements for VS 16.7
- use SignalR.Npm.FunctionalTests.npmproj to get non-stable version
  - not Microsoft.AspNetCore.DeveloperCertificates.XPlat.csproj (avoid C# and F# projects)
  - add `_GetPackageVersionInfo` target to all `*.npmproj` projects
    - make `_GetPackageVersionInfo` target work when `yarn` is not installed
- switch codesign-xplat.yml to use `dotnet msbuild`
  - above change also fixes Code-sign jobs but they're slightly faster using `dotnet msbuild`
2020-08-10 10:33:24 -07:00
Pranav K 407b623cdf
Use preview queues (#24683) 2020-08-07 16:46:36 -07:00
msftbot[bot] dd25b5f91a
Merge pull request #24522 from dotnet-maestro-bot/merge/release/5.0-preview8-to-master
[automated] Merge branch 'release/5.0-preview8' => 'master'
2020-08-03 05:30:10 +00:00
dotnet-bot 06fbd7e0c1 Merge in 'release/5.0-preview8' changes 2020-08-03 01:05:48 +00:00
Doug Bunting a78cd6239f
Increase main Helix job timeout (#24493)
- now matches timeout in quarantined-pr.yml which uses the same queues
- internal PRs may otherwise time out
2020-08-02 18:00:45 -07:00
DotNet Bot cba2275799 Merged PR 9296: [internal/release/5.0-preview8] Update dependencies from dnceng/internal/dotnet-runtime
This pull request updates the following dependencies

[marker]: <> (Begin:2f3f3ff0-d34f-49bd-50aa-08d828f9655f)
## From https://github.com/dotnet/runtime
- **Subscription**: 2f3f3ff0-d34f-49bd-50aa-08d828f9655f
- **Build**: 20200722.7
- **Date Produced**: 7/23/2020 12:04 AM
- **Commit**: 3cab6dd440a5f3763bfbd2d582b36fe51095686a
- **Branch**: refs/heads/internal/release/5.0-preview8

[DependencyUpdate]: <> (Begin)

- **Updates**:
  - **System.Diagnostics.DiagnosticSource**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **System.Diagnostics.EventLog**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **System.Drawing.Common**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **System.IO.Pipelines**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **System.ComponentModel.Annotations**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.Abstractions**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.Configuration**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.Console**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.Debug**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.EventLog**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.EventSource**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging.TraceSource**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Options**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Options.ConfigurationExtensions**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Options.DataAnnotations**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Primitives**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Logging**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Internal.Transport**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Hosting.Abstractions**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Caching.Abstractions**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Caching.Memory**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Configuration**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Configuration.Abstractions**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Configuration.Binder**: from 5.0.0-preview.8.20361.2 to 5.0.0-preview.8.20372.7
  - **Microsoft.Extensions.Configuration.CommandLine**: from 5.0.0-preview.8.203...
2020-07-26 05:49:09 +00:00
Brennan 4485f586aa
Update signalr-daily-tests.yml (#24266) 2020-07-23 18:49:44 -07:00
Matt Mitchell b79190fded
Enable builds of internal branches (#24161) 2020-07-21 12:36:59 -07:00
Doug Bunting 921d2c6124
Stop remaining auto-injected component detection runs (#23755)
- was still running in every job where explicit CD build step did not execute
    - caused consistent errors in Linux MUSL x64 (Alpine) jobs
      - error was ignored but made build failure diagnosis more difficult
    - totally redundant in test jobs
2020-07-07 17:26:07 -07:00
Hao Kung fdcb8cf7ac
Continue on error for helix arm64 on quarantined-tests (#23642) 2020-07-03 22:37:08 +00:00
Pranav K 36856ca8f9
Revive support for component governance variable (#23624) 2020-07-02 21:29:04 +00:00
Pranav K b4a37194f5
Skip component governance for linux musl x64 (#23592)
* Skip component governance for linux musl x64

* Use parameters

* jazz
2020-07-02 14:02:27 +00:00
John Luo 7f6147d50f
Use containers instead of dockerbuild.sh (#23497) 2020-07-01 13:46:56 -07:00
Hao Kung 5eef64aed8
Remove duplicate non helix jobs from PR pipeline (#23481) 2020-06-29 15:06:24 -07:00
Hao Kung e280884a94
Create a new pipeline that runs PR queue tests more often (#23410) 2020-06-29 11:18:04 -07:00
Hao Kung 93eafe70b4
Run full matrix on quarantined pipeline (#23377)
* Run full matrix on quarantined pipeline but only 2x a day

* Add helix arm queues

* Change test run time

* Update quarantined-tests.yml
2020-06-26 23:26:54 +00:00
Doug Bunting 6c941485fd
Remove tests from official builds (#23056)
* Remove tests from official builds
  - #22787

nit: _add_ dependency on Windows ARM64 build when publishing to the BAR
    - not a major problem because this particular build rarely if ever fails
    - the existence of the correct manifests is much more important

* Address nit: `Windows_64_build` -> `Windows_arm64_build`
2020-06-17 14:46:29 -07:00
Safia Abdalla 8f58fae09b
Fix path for artifacts in SignalR tests (#23046)
* Fix path for artifacts in SignalR tests

* Update syntax to match repo convention
2020-06-17 19:08:37 +00:00
Hao Kung cba02d8232
Increase timeouts for full matrix runs (#23013)
We only run these every 12 hours on master, and sometimes the queues take > 4 hours to run
2020-06-16 14:52:41 -07:00
Doug Bunting 416c78bc9e
Build native assets just once per job on CI (#22909)
- at best, was a performance drain
- at worst, broke builds entirely
2020-06-15 15:42:20 -07:00
Brennan 32ad9d42c9
Show pass in quarantine runs unless build fails (#22900) 2020-06-12 17:34:39 -07:00
Pranav K 71853a4640
Merge branch '3.1merge' 2020-06-10 11:30:40 -07:00
Justin Kotalik e1fab3098b
No build native in site extension (#22738) 2020-06-09 21:05:32 -07:00
Pranav K 11ac23c65d
Changes per PR 2020-06-08 22:19:34 -07:00
Doug Bunting eb33b9657b
Add explicit component governance build step (#22486)
- #22243
- ignore a number of artifacts/ folders that cause task warnings but don't add value
- separately, correct overuse of `$(BuildDirectory)` variable
2020-06-08 11:23:21 -07:00
Matt Mitchell 7079762008
Disable validation steps (#22580)
These steps can be run as part of the nightly Validate-DotNet runs, as well as the Release-DotNet pipeline that is run to prep for validation+release
2020-06-08 09:00:13 -07:00
Doug Bunting e81a4ee037
Remove aspnetcore-daily-dev-builds schedules (#22639)
* Remove aspnetcore-daily-dev-builds schedules
  - was about to disable the pipeline but found I wanted to run it manually
  - see https://github.com/dotnet/aspnetcore/issues/22556#issuecomment-639269389

* !fixup! Correct binlog paths
  - broken a while ago when I changed working directories
2020-06-07 19:13:13 -07:00
Matt Mitchell d8733c2a55
Build time changes (#22362)
* Build time changes
A few changes for build time
- Don't build tests with SkipTestBuild=true and use that for official
  build legs. This cuts 40%-50% off the msbuild invocations for build.
  The longest build leg drops by about 30 mins.
- Skip logging of some task parameters and their metadata.
  This reduces overall binlog size, which is a major contributor to
  build time.

Unfortunately, this does not mean we can yet turn binlogs back on. This
change can actually increase the overall binlog size due to logging of
more project started arguments. There is another optimization for this
in progress.

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
2020-06-03 07:14:38 -07:00
Brennan 7af5e5d25a
Move all quarantined tests to the aspnetcore-quarantined-tests pipeline (#22445) 2020-06-02 13:02:26 -07:00
Doug Bunting 2bb7851939 Correct build in aspnetcore-helix-matrix pipelines
- should not use `-all` and `-projects` without `-noBuildNative`
- builds fail otherwise because build.ps1 attempts to build the specified projects in desktop `msbuild`
2020-06-01 20:51:14 -07:00
Doug Bunting 14d6b6e286
Build primarily with `dotnet msbuild` (#22017)
* Make `dotnet msbuild` the default on Windows too
  - add step using desktop `msbuild` when native builds may be involved
    - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step
    - but `-ForceCoreMsbuild` unconditionally skips this step

nits:
- add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command)
- add blank lines between build steps

* Enable building managed projects depending on native assets
  - splitting native builds out confuses these projects
  - use `$(BuildNative)` less, only to control actual building (not bundling)
  - build both native platforms in one `msbuild` invocation

* Adjust generation scripts to explicitly choose the MSBuild engine
  - ensure native assets are included in GenerateReferenceAssemblies.ps1 build
  - clean up the global state that tools.ps1 corrupts

* Revert move to VS2019.Pre queues

This reverts part of commit b67d161e03
- was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)"

* Revert "!temporary! Require `msbuild` from VS2019 16.6"
  - this reverts commit 58cf2304a6

* Reduce build duplication in pipelines
  - build native assets and repo tasks once per CI job
  - only cleanup framework references after packing managed projects

nits:
- wrap a few long lines
- remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd

* Fix Helix jobs
  - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all`

* !fixup! Reduce duplications further
  - missed a couple of places `-noBuildRepoTasks` helps

* Cleanup: Remove a few dangling binary logs

* !fixup! Correct typos in generation scripts

* !fixup! Another typo in the generation scripts
2020-05-29 19:02:03 -07:00
Pranav K 78d6ce201f
Merge pull request #22296 from dotnet/prkrishn/merge-into-master
Merge blazor-wasm in to master
2020-05-29 10:37:32 -07:00
John Luo 68fea5b9c2 Remove files that should stay in aspnetcore-tooling
Also address some lingering feedback
2020-05-27 16:05:14 -07:00
Pranav K 4c50b6cb16
Merge blazor-wasm in to master 2020-05-27 11:00:38 -07:00
John Luo 50d914f1af Merge branch 'master' into johluo/tooling-consolidation-fixup 2020-05-26 15:02:12 -07:00
Hao Kung 9aa902682f
[Helix] build java as part of helix runs (#22227)
* Update quarantined-tests.yml

* Yes to java

* Update quarantined-tests.yml

* Update quarantined-tests.yml
2020-05-26 19:49:28 +00:00