dotnet / runtimelab

This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
MIT License
1.36k stars 188 forks source link

NativeAOT-LLVM: package publishing broken #2539

Closed yowl closed 2 months ago

yowl commented 3 months ago

HI @jkotas, could you please post the current package publishing error, the merge has broken it again?

Thanks,

jkotas commented 3 months ago

It is failing with

image

I do not think that it was broken by the merge.

We are required to switch to standardized YAML templates, and it looks like that the branches that have not switched yet fail the official builds now.

@agocke Could you please confirm that the above error is caused by missing official templates?

If it is the case, the fix is going to be to take another merge to pick up changes like https://github.com/dotnet/runtime/pull/99433 and then fix things up.

yowl commented 3 months ago

I've started the next merge, as mentioned above, there are yml changes. Will we be able to swtich to these new jobs do you think:

          - template: /eng/pipelines/common/platform-matrix.yml
            parameters:
              jobTemplate: /eng/pipelines/common/global-build-job.yml
              helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
              buildConfig: checked
              platforms:
              - linux_x64
              - windows_x64
              - Browser_wasm_win
              - wasi_wasm_win
              jobParameters:
                timeoutInMinutes: 300
                buildArgs: -s clr.aot+libs+nativeaot.packages -c debug -rc $(_BuildConfig)
                postBuildSteps:
                  - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
                    parameters:
                      creator: dotnet-bot
                      testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)

i.e. the helix-queues-setup.yml and build-runtime-tests-and-send-to-helix.yml? I will try global-build-job.yml to see how it goes.

jkotas commented 3 months ago

global-build-job.yml and helix-queues-setup.yml look reusable I am not 100% sure about build-runtime-tests-and-send-to-helix.yml

SingleAccretion commented 3 months ago

Note: we don't use helix for tests (the tests are run on the build machines).

agocke commented 2 months ago

Yup the above issue is caused by the switch to internal builds.

I'm happy to fix up the internal pipeline, but we need to get the public pipeline swapped over. Most important is to just get a merge from runtime-main. I can probably take it from there.

yowl commented 2 months ago

@jkotas I think it should have published by now, but hasn't, would you mind seeing what the error is please?

jkotas commented 2 months ago

I talked to @agocke earlier today and he is going to take it from here to fix this up. (It may require reconfiguring AzDo in addition to editing the checked-in ymls.)

jkotas commented 2 months ago

Almost there! After #2563, the publish is failing with:

D:\a_work\1\s.packages\microsoft.dotnet.arcade.sdk\9.0.0-beta.24224.2\tools\SdkTasks\PublishArtifactsInManifest.proj(136,5): error : Asset 'runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM' is specified twice in the build information. Assets should not be duplicated.

The problem is that runtime.win-x64.Microsoft.DotNet.ILCompiler.LLVM is built by both windows-x64/BuildProduct and browser-wasm/Build host packages steps. @yowl @SingleAccretion How is it expected to work?

jkotas commented 2 months ago

2566 should fix it.

jkotas commented 2 months ago

Packages published successfully (Microsoft.DotNet.ILCompiler.LLVM 9.0.0-preview.4.24227.1)!

SingleAccretion commented 2 months ago

I just tested the packages on our hello world sample and they work. I think this can be closed. Thanks everyone!

yowl commented 2 months ago

Thanks all!