Skip to content

Evaluate using sourcelink to name the ArPow intermediate nupkgs using Git #2029

@dagood

Description

@dagood

Right now, eng/SourceBuild.props contains <GitHubRepositoryName>source-build</GitHubRepositoryName>. In theory, we could grab that from the git remote config through sourcelink.

But:

  • If this goes wrong, we end up publishing a package with a bad name to the feed. Still Microsoft.SourceBuild.Intermediate.<something>, so not untraceable, and not something that will break the world, but these are the stakes.
  • We would have to depend on some internal repo name -> public repo name translation, since they're different.
  • It would make it harder to repro locally if remotes aren't set up how sourcelink wants them.
  • Sourcelink doesn't work in arcade-powered source-build: When the "origin" remote points to a local directory that itself doesn't have an "origin" remote, SourceLink emits warning/error even though it has a fallback sourcelink#629 / [ArPow] Re-enable sourcelink #1693. I believe this only affects the inner build, not the outer build that actually assembles the intermediate nupkg, but I'd be a bit uneasy taking a dependency on that separation rather than fixing that issue.
  • How does this affect tarball builds that don't have remotes?
    • Will we actually produce intermediate nupkgs for tarball builds? (They help with incrementality.)

If that can be ironed out, it would be pretty easy to roll out an Arcade SDK update that makes GitHubRepositoryName obsolete, then remove the property in each repo. Since it's so easy to fix incrementally later on, and it's just one line of MSBuild code, it doesn't seem like a priority.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-infraSource-build infrastructure and reporting

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions