[llvm] Add an artifact containing the libc++ headers + libraries. (PR #94465)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 5 06:05:12 PDT 2024


https://github.com/EricWF created https://github.com/llvm/llvm-project/pull/94465

This artifact is only added for the Clang C++26 configuration.
The idea is to use these artifacts in other bits of the workflows,
or in other tools outside of github (I'm imagining a compiler explorer
instance that allows comparing the libc++ in the pull request with
the head version)

To be more concrete, one use case is "testing as we ship". Currently
all of the workflows build the library using the same compiler
(and sometimes dialect?) that they test with. This isn't representative
to how libc++ is built and used in the wild. We should consider
if we want to build the library once, in a blessed configuration,
and then tests it against the battery of compilers & configurations
we support.

Right now, this is just an experiment.


>From 7196845e8fa78466af7c7a09e4022592603e7551 Mon Sep 17 00:00:00 2001
From: Eric Fiselier <eric at efcs.ca>
Date: Wed, 5 Jun 2024 08:59:06 -0400
Subject: [PATCH] Add an artifact containing the libc++ headers + libraries.

This artifact is only added for the Clang C++26 configuration.
The idea is to use these artifacts in other bits of the workflows,
or in other tools outside of github (I'm imagining a compiler explorer
instance that allows comparing the libc++ in the pull request with
the head version)

To be more concrete, one use case is "testing as we ship". Currently
all of the workflows build the library using the same compiler
(and sometimes dialect?) that they test with. This isn't representative
to how libc++ is built and used in the wild. We should consider
if we want to build the library once, in a blessed configuration,
and then tests it against the battery of compilers & configurations
we support.

Right now, this is just an experiment.
---
 .github/workflows/libcxx-build-and-test.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 44a3d79c72c0a..25c08d19c791f 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -82,6 +82,12 @@ jobs:
             **/CMakeError.log
             **/CMakeOutput.log
             **/crash_diagnostics/*
+      - uses: actions/upload-artifact at 26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
+        if: success() && matrix.config == 'generic-cxx26'
+        with:
+          name: libcxx-install
+          path: |
+            install/**
   stage2:
     if: github.repository_owner == 'llvm'
     runs-on: libcxx-runners-8-set



More information about the llvm-commits mailing list