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

CI - Sign and symbol upload Cross OS DAC #33528

Closed
sdmaclea opened this issue Mar 12, 2020 · 5 comments
Closed

CI - Sign and symbol upload Cross OS DAC #33528

sdmaclea opened this issue Mar 12, 2020 · 5 comments
Assignees
Milestone

Comments

@sdmaclea
Copy link
Contributor

We need to revise the official build process to

  • Build the cross OS DAC configurations
  • Sign them.
  • Upload the builds to the symbol server
  • Index the build by the corresponding elf-build-id (s)

We need to agree on the indexing scheme and update the symbol upload docs.

We will need add indices to support mapping from the following libcoreclr build-ids to the corresponding Windows DAC.

linux-arm
linux-arm64
linux-x64
musl/alpine-x64
musl/alpine-arm64
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-Infrastructure-coreclr untriaged New issue has not been triaged by the area owner labels Mar 12, 2020
@sdmaclea sdmaclea added this to the 5.0 milestone Mar 12, 2020
@sdmaclea sdmaclea added area-Diagnostics-coreclr and removed area-Infrastructure-coreclr untriaged New issue has not been triaged by the area owner labels Mar 12, 2020
@sdmaclea
Copy link
Contributor Author

Per @mikem8361

The libcoreclr.so index defined by symstore spec

libcoreclr.so/elf-buildid-4eb714123c1ed48a30101567209c40f302c0df18/libcoreclr.so

The regular Linux DAC index:

libmscordaccore.so/elf-buildid-coreclr-4eb714123c1ed48a30101567209c40f302c0df18/libmscordaccore.so

Per @leculver & @mikem8361 suggestions the new DAC should be indexed as:

mscordaccore.dll/elf-buildid-coreclr-4eb714123c1ed48a30101567209c40f302c0df18/mscordaccore.dll

@sdmaclea
Copy link
Contributor Author

sdmaclea commented Apr 1, 2020

Per @dagood

I believe @jashook is the right person to talk about implementation.

The artifact I think you need to end up with is a symbol package that contains the cross OS DAC + target platform libcoreclr, so the files are adjacent and hit the symbol uploader tool’s convention to pick up the desired build id. If those native bits can’t be built on the same platform as the libcoreclr, the way to get them together is a “join job” that depends on multiple earlier jobs to finish then downloads the artifacts to repackage.

Currently every Installer job joins all CoreCLR and Libraries jobs, because Installer has to read some data from every artifact on every platform to make the full platform manifest. (But we want to stop this: Create full platform manifest in local build (don't require job join) #1622.) That can maybe be used as an example to create a new job that makes cross OS DAC indexing symbol packages.

@jarret
Copy link

jarret commented Apr 1, 2020

not me! probably meant to ping some other @

@dagood
Copy link
Member

dagood commented Apr 1, 2020

Sorry about that! It was pasted from an email (where that resolves to the right person). Edited.

@hoyosjs
Copy link
Member

hoyosjs commented Jul 27, 2020

This was completed in #39574

@hoyosjs hoyosjs closed this as completed Jul 27, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants