-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use stages pipeline #13040
Use stages pipeline #13040
Conversation
6d23455
to
2089fc5
Compare
This seems to be getting close. But, job names may still be messed up i.e. job.yml seems to use Internal build: https://dev.azure.com/dnceng/internal/_build/results?buildId=305555&view=results |
Changes look reasonable, and the internal build seems good other than failing to publish to BAR:
Maybe due to |
22900cd
to
3917455
Compare
I think this was due to using distinct artifact names for the various jobs pushing manifests. |
New internal build is https://dev.azure.com/dnceng/internal/_build/results?buildId=306146 |
A test failed in https://dev.azure.com/dnceng/internal/_build/results?buildId=306146 Will need to wait a bit before we see how this is really working. |
@riarenas @JohnTortugo @mmitche this is changing our artifact layout significantly. I suspect I could merge all of the *_Packages_Signed artifacts with the Windows ones to create a single PackageArtifacts artifact (or perhaps duplicate the two) as I had to do w/ AssetManifests. But, am I just peeling an onion with multiple additional layers? (Less of a concern that I'm breaking our existing release pipeline of course -- that will mostly deal with blobs that don't go into the centralized release.) Bottom line, does the separation in https://dev.azure.com/dnceng/internal/_build/results?buildId=306146&view=artifacts raise additional red flags? I'd like to finish this in the next iteration. |
For example, all of the *_Installers packages have files with the same name as https://dev.azure.com/dnceng/_apis/resources/Containers/2153204/Linux_arm64_Installers?itemPath=Linux_arm64_Installers%2FRelease%2Faspnetcore_base_runtime.version The one that "wins" probably doesn't matter but artifact publication may hit errors. (If we need to merge those artifacts into BlobArtifacts too.) |
Separately we have a Microsoft.Web.Xdt.Extensions.pdb file in its own Windows_Symbols artifact. Does that need to be moved somewhere to ensure it's uploaded correctly? The particular file isn't part of a *.symbols.nupkg because the assembly is used exclusively in the AzDO and they get everything through a MSI in our Windows_Installers artifact. |
(@JunTaoLuo on a mostly-unrelated note: Why don't we have a aspnetcore-targeting-pack for macOS?) |
More for @riarenas @JohnTortugo @mmitche: There may be a simpler fix here that I'm missing. What exactly are we doing differently in the Extensions repo? See e.g. https://dev.azure.com/dnceng/internal/_build/results?buildId=305842&view=artifacts That list includes BlobArtifacts and PackageArtifacts but I don't see where those get published, just where they're consumed. (Our pipeline only explicitly creates artifacts named "artifacts", NpmArtifacts, PdbArtifacts and a few logging odds and ends.) |
Might be getting closer to a resolution here. Found our other repos are passing some or all of the following when in official (aka internal) builds on Windows:
Ignore a bit of the above cut 'n paste. We're currently passing |
4ad651c
to
2e4cdba
Compare
Threw everything at it in latest commit. New internal build: https://dev.azure.com/dnceng/internal/_build/results?buildId=306939&view=results |
2e4cdba
to
743ed32
Compare
@dougbu I think the errors are coming because the arcade publishing tasks are not running, and thus the manifest is not being generated. |
743ed32
to
f6a4b3d
Compare
@JohnTortugo @riarenas could you please make recommendations based on internal build https://dev.azure.com/dnceng/internal/_build/results?buildId=307941 ? I think I'm setting the publish-related properties correctly but
|
@JohnTortugo the errors trying to publish to azure devops build artifacts seems similar than what CoreCLR was facing at some point. Do you remember what the solution was in that case? |
f6a4b3d
to
0bffecb
Compare
Made a number of changes and rebased. Latest internal build is: https://dev.azure.com/dnceng/internal/_build/results?buildId=308884 |
Oh, for those, you need to just update them to |
So, the following should work?
(I don't see how the apphost.exe exclusion could work given the check passes a fairly-random filename into |
Disabled signing validation for now. Filed #13864 to cover re-enabling these checks. |
Internal build https://dev.azure.com/dnceng/internal/_build/results?buildId=347936 got all the way to the 'Publish Assets' step in '.NET Tools - Validation Publishing' but failed there:
Exactly what does that exception mean? For example is this failure a statement that we need to remove duplication between our manifest files (in contrast to conversations we've had @riarenas @JohnTortugo) |
I think the problem here was that same blobs (or same blob name) was described in two different manifests. I'll take a closer look in a few mins. |
Thought we were pretty sure the duplication between (say) aspnetcore-Linux_x64.xml and aspnetcore-Linux_x64-signed.xml was fine? I do see some differences in the
(I don't see why there are empty values for any of the above. Thought such values would be set consistently across all build steps.) |
- #11924 - change ci.yml to use stages and post-build.yml - add use of publish-build-assets.yml and post-build.yml - publish in last build step of each job - pass more MSBuild properties into builds - use distinct `$(AssetManifestFileName)` values per job - set global property to override what's hard-coded in Publish.proj - change codesign-xplat.yml to use empty.proj and normal Arcade signing and publication process - remove XPlatPackageSigner.proj - change default-build.yml to use job.yml - remove unused parameters e.g. `matrix`, `poolName`, `variables` - use `enableMicrobuild` and `enablePublishTestResults` to eliminate duplicate build steps - add .dll's and .exe's as files to sign w/ Microsoft400 - add signcheck exclusions - remove custom manifest generation i.e. the `GenerateBuildAssetManifest` target and related artifacts - use regular Arcade publish infrastructure - update docker infrastructure to use same paths in and out of the container - correct typo in build.sh nits: - upload logs in first artifact - remove attempts to package non-existent VSIX - follow-up to 29cf7ec - respect verbosity setting in build.sh - add more information to Artifacts.md - enable test signing in internal PRs
- remove `$(DOTNET_HOME)` settings - do not use `activate.ps1` or `restore.cmd` in codesign-xplat.yml nit: - restore deleted blank line - move log artifact first in codesign-xplat.yml too
- relax expectations that an arch-specific folder exists under (say) `$env:DOTNET_HOME` - avoids need to define `$env:DOTNET_HOME` in all bjos on CI
- move that job to the end of the Build stage in the YAML too
- upgrade to eg. Arcade SDK '1.0.0-beta.19458.2' package version - pick up dotnet/arcade@dd593acc8b08 fix - enable use of `%(PublishFlatContainer)` metadata - also corrects issues w/ signing validation
- set `$(IsStableBuild)` for use in Arcade infrastructure
- `$(IsStableBuild)` is not always defined - remove extra angle bracket - match Arcade versions in Version.Details.xml with those elsewhere
…ion for now - validation may have other bugs and we should investigate separately
- handled separately in later signing builds (on Windows)
6eaa594
to
8bda9c2
Compare
https://dev.azure.com/dnceng/internal/_build/results?buildId=348634&view=results succeeded with the previous commit 🍾 🚀 🍾 Change in last commit won't impact the build itself (just the BAR). So, we're ready to merge once PR validation completes… |
poolName
andmatrix
enableMicrobuild
,enablePublishBuildArtifacts
etc. to simplify YAML scripts