Adding artifacts to existing releases

Every release seems to have a different number of assets associated with it in GitHub. My understanding is that this is simply because the volunteer testers just hadn’t built for that platform. This however causes issues for me as I’m using the releases of clang published on Github in my projects and I’m constantly having to account for whether or not a tester added an asset for a specific platform.

My questions are:

  1. Would it be possible to get a consistent list of platform triples that will have assets available in every release?
  2. If a net-new asset were to be built for an older release, could it be uploaded to the release page in GitHub?

We are working on adding a GitHub Actions job that will build some x86_64 artifacts for every release, so at least there will be consistency for those triples, but beyond that, all testing is done by volunteers, so there is no way to ensure we get the same builds using our current process for testing.

Yes, this is possible.

Is there a ticket that tracks the creation of the Github Action job?

And could I volunteer to build a few artifacts? What does that entail?

Friendly ping @tstellar

The ticket is here: Release 13.0.1 missing binaries for linux/x86_64 · Issue #53892 · llvm/llvm-project · GitHub

Thanks! Though I’m still wondering if I could perform some suite of tests to produce an artifact that could be added to existing releases to back-fill artifacts for popular platforms on older releases. Is there any guidance there?

Testers use the test-release.sh script to build binaries and it includes tests.

So I see Release LLVM 15.0.7 · llvm/llvm-project · GitHub was just released but it does not include x86_64-apple-darwin clang artifacts. I have a x86_64-apple-darwin machine that I could build that on. What do I need to do to be able to upload a built artifact to github?

You just need commit access.

What would I have to do to earn that? Or what can I do to provide assets to someone who does have that?

@abrisco You just need to ask: LLVM Developer Policy — LLVM 16.0.0git documentation You can explain to Chris why you are requesting access.

Thanks! I was able to get the help I needed from Chris. I’m going to begin working on making and uploading artifacts for the following platforms

{
    "10.0.0": ["aarch64-apple-darwin"],
    "10.0.1": ["aarch64-apple-darwin"],
    "11.0.0": ["aarch64-apple-darwin"],
    "11.0.1": ["aarch64-apple-darwin", "x86_64-apple-darwin"],
    "11.1.0": ["aarch64-apple-darwin", "x86_64-apple-darwin"],
    "12.0.0": ["aarch64-apple-darwin"],
    "12.0.1": ["aarch64-apple-darwin", "x86_64-apple-darwin"],
    "13.0.0": ["aarch64-apple-darwin"],
    "13.0.1": ["aarch64-apple-darwin"],
    "14.0.0": ["aarch64-apple-darwin"],
    "14.0.1": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "14.0.2": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "14.0.3": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "14.0.4": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "14.0.5": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "14.0.6": ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "15.0.0": ["x86_64-unknown-linux-gnu"],
    "15.0.1": ["x86_64-unknown-linux-gnu"],
    "15.0.2": ["x86_64-unknown-linux-gnu"],
    "15.0.3": ["x86_64-unknown-linux-gnu"],
    "15.0.4": ["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"],
    "15.0.5": ["aarch64-unknown-linux-gnu", "x86_64-apple-darwin"],
    "15.0.6": ["x86_64-apple-darwin"],
}

Though, for the aarch64-apple-darwin platforms, I understand the platform may not be supported that far back so will only publish what I can.