Skip to content
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

Re-do the build infrastructure #445

Merged
merged 36 commits into from
Mar 25, 2022
Merged

Re-do the build infrastructure #445

merged 36 commits into from
Mar 25, 2022

Conversation

Tratcher
Copy link
Member

@Tratcher Tratcher commented Mar 23, 2022

This is a complete replacement of the build infrastructure:

  • Adding Arcade
  • Removing Sake
  • Switching to SDK style projects
  • Build on azure pipelines
  • Apply SDL

Follow ups:

  • Release automation
  • Publishing build artifacts to a feed
  • Symbol publishing
  • PR validation
  • Subscribe for Arcade updates

Cut:

  • LOC packages will be discontinued

Note, a lot of this was copied from reverse-proxy and aspnetcore, there are likely things that could be removed. Please let me know if you spot any.

@Tratcher Tratcher added this to the 4.2.1 milestone Mar 23, 2022
@Tratcher Tratcher requested review from dougbu and wtgodbe March 23, 2022 22:09
@Tratcher Tratcher self-assigned this Mar 23, 2022
@Tratcher Tratcher marked this pull request as ready for review March 24, 2022 00:32
Copy link
Member

@dougbu dougbu left a comment

Choose a reason for hiding this comment

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

Lots of questions and I still have ~100 files to look at. Before I do that, can most of the C# files be blithely ignored❔ And, where did the new projects come from❔

Directory.Build.props Outdated Show resolved Hide resolved
Katana.sln Show resolved Hide resolved
eng/Build.props Outdated Show resolved Hide resolved
eng/BuildTask.targets Outdated Show resolved Hide resolved
eng/BuildTask.targets Outdated Show resolved Hide resolved
eng/common/README.md Show resolved Hide resolved
eng/configure-toolset.ps1 Outdated Show resolved Hide resolved
eng/test-configuration.json Outdated Show resolved Hide resolved
Comment on lines +2 to +3
"tools": {
"dotnet": "6.0.100"
Copy link
Member

Choose a reason for hiding this comment

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

What requires a .NET SDK be installed w/o enforcing a version❔

Suggested change
"tools": {
"dotnet": "6.0.100"
"sdk": {
"version": "6.0.100"
},
"tools": {
"dotnet": "6.0.100"

Might also be worthwhile adding "allowPrerelease" and "rollForward" values to make it easier to build on random people's machines.

global.json Outdated Show resolved Hide resolved
@dougbu
Copy link
Member

dougbu commented Mar 24, 2022

Oh, that's odd. Why does this repo have an official pipeline but nothing to validate public PRs❔

@dougbu
Copy link
Member

dougbu commented Mar 24, 2022

  • Release automation
  • Publishing build artifacts to a feed
  • Symbol publishing
  • PR validation
  • Subscribe for Arcade updates

Much of this list is external to the repo. Publishing is handled by adding a Maestro++ (darc) default channel and Arcade updates come through a Maestro++ subscription for example.

Copy link
Contributor

@wtgodbe wtgodbe left a comment

Choose a reason for hiding this comment

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

I also ignored .cs file changes & deletions - looks mostly good, but you can remove most of the files copied over from Arcade

.config/CredScanSuppressions.json Outdated Show resolved Hide resolved
eng/BuildTask.targets Outdated Show resolved Hide resolved
eng/BuildTask.targets Outdated Show resolved Hide resolved
eng/GoalTimePerDefinition.json Outdated Show resolved Hide resolved
eng/Signing.props Show resolved Hide resolved
eng/SourceBuild.props Outdated Show resolved Hide resolved
eng/TargetFrameworkDefaults.props Outdated Show resolved Hide resolved
eng/Version.Details.xml Show resolved Hide resolved
Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
@Tratcher
Copy link
Member Author

Oh, that's odd. Why does this repo have an official pipeline but nothing to validate public PRs❔

The CI used to be provided by old services that have been discontinued. Replacing it wasn't a priority given this project is in maintenance mode. It should be easier now that we're back on current infrastructure.

@wtgodbe
Copy link
Contributor

wtgodbe commented Mar 24, 2022

Oh, that's odd. Why does this repo have an official pipeline but nothing to validate public PRs❔

I think @Tratcher just has to create one on https://dev.azure.com/dnceng/public/_build and link it to the .yml file - docs: https://github.com/dotnet/arcade/blob/main/Documentation/AzureDevOps/MovingFromDevDivToDncEng.md, https://github.com/dotnet/arcade/blob/main/Documentation/AzureDevOps/AzureDevOpsGuidance.md#pipelines. You should also set up the mirror bot to mirror the github repo to the azdo repo if you haven't already

@Tratcher Tratcher requested a review from wtgodbe March 25, 2022 22:05
azure-pipelines.yml Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants