[llvm] [libc] add multi-platform pre-commit github actions (PR #119104)

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 7 17:51:36 PST 2024


================
@@ -0,0 +1,81 @@
+# This workflow is for pre-commit testing of the LLVM-libc project.
+name: LLVM-libc Pre-commit Overlay Tests
+
+on:
+  pull_request:
+    branches: [ "main" ]
+    paths:
+      - 'libc/**'
+      - '.github/workflows/libc-overlay-tests.yml'
+
+jobs:
+  build:
+    env:
+      SCCACHE_GHA_ENABLED: "true"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations.
+      fail-fast: false
+      matrix:
+        os: [ubuntu-latest, windows-latest, macos-latest]
+        build_type: [Release, Debug]
+        compiler: [
+          { c_compiler: gcc, cpp_compiler: g++ },
+          { c_compiler: clang, cpp_compiler: clang++ },
+          { c_compiler: clang-cl, cpp_compiler: clang-cl }
+        ]
+        exclude:
+          - os: windows-latest
+            compiler: { c_compiler: gcc, cpp_compiler: g++ }
+          - os: windows-latest
+            compiler: { c_compiler: clang, cpp_compiler: clang++ }
+          - os: ubuntu-latest
+            compiler: { c_compiler: clang-cl, cpp_compiler: clang-cl }
+          - os: macos-latest
+            compiler: { c_compiler: clang-cl, cpp_compiler: clang-cl }
+          - os: macos-latest
+            compiler: { c_compiler: gcc, cpp_compiler: g++ }
+
+    steps:
+    - uses: actions/checkout at v4
+
+    - name: Run sccache-cache
+      uses: mozilla-actions/sccache-action at v0.0.6
+    
+    - name: Prepare dependencies (Ubuntu)
+      if: matrix.os == 'ubuntu-latest'
----------------
tstellar wrote:

You could use `runner.os == 'Linux'` here.  If you don't want to hard-code the tag.

https://github.com/llvm/llvm-project/pull/119104


More information about the llvm-commits mailing list