Skip to content

[ArPow] Create tarball generation and tarball build infrastructure for dotnet/installer #2063

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

Closed
dagood opened this issue Feb 19, 2021 · 3 comments
Assignees
Labels
area-infra Source-build infrastructure and reporting

Comments

@dagood
Copy link
Member

dagood commented Feb 19, 2021

Once ArPow is complete through dotnet/installer, there's still work to do to generate the tarballs.

  1. Infrastructure to clone the repos from dotnet/installer's Versions.Details.xml and put it in a tarball location. Following dotnet/source-build, this could be darc clone, but it would be nice to make it a lot simpler (and maybe faster) before then: Quality of life "darc clone --depth 0" improvements #1571
  2. A full "strict coherent parent dependency" graph accessible in dotnet/installer, to put together a coherent set of repos. This just means we have to pick one version of each repo to work with--the build itself will probably not be fully coherent.
  3. Infra to copy build tooling into the tarball to make it self-buildable.
    • May involve copying a chunk of dotnet/source-build release/5.0 infra into dotnet/installer eng/SourceBuildTarball/*.
    • There's a balance to make here. How much infra can be removed and replaced with ArPow's Arcade-side infra? Should we actually start using intermediate nupkgs in the tarball build as a way to safely segment up incremental builds (Add incremental builds by increasing isolation #928)?
  4. Infra to publish the tarball as a public artifact from each official build. Note that we should be able to have one tarball serve all RIDs (The source-tarball genrated by source-build should work everywhere #1412, create linux-x64 compatible tarball for each release #298), but we can publish more tarballs if this doesn't end up working for 6.0.

This infra might make sense to permanently house in dotnet/installer's eng/ dir. dotnet/installer will be the only place producing tarballs for the foreseeable future, and having the code live in the repo directly rather than putting it in Arcade makes it significantly more maintainable when issues or new features come up.

To do an early prototype, we can choose a build subgraph and implement all of these steps there. (Any strict coherent parent dependencies are good incremental progress on other goals too (stage 4), and the bulk of the infra could probably just be moved to dotnet/installer when the full ArPow build graph is ready.)

@dagood dagood added the area-infra Source-build infrastructure and reporting label Feb 19, 2021
@crummel crummel removed the untriaged label Mar 4, 2021
@crummel
Copy link
Contributor

crummel commented Mar 4, 2021

Triage: @dseefeld to start proving this out after his 6.0 work.

@MichaelSimons MichaelSimons changed the title ArPow: Create tarball generation and tarball build infrastructure for dotnet/installer [ArPow] Create tarball generation and tarball build infrastructure for dotnet/installer May 28, 2021
@MichaelSimons
Copy link
Member

Consider including #1694 as part of this work.

@dseefeld
Copy link
Contributor

Completed with dotnet/installer#10961

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infra Source-build infrastructure and reporting
Projects
None yet
Development

No branches or pull requests

4 participants