Parcourir la source

CI: Build llvm for xtensa (#3637)

YAMAMOTO Takashi il y a 1 an
Parent
commit
2b5b771537

+ 11 - 3
.github/workflows/build_llvm_libraries.yml

@@ -14,6 +14,14 @@ on:
       container_image:
       container_image:
         required: false
         required: false
         type: string
         type: string
+      extra_build_llvm_options:
+        required: false
+        type: string
+        default: ""
+      cache_key_suffix:
+        required: false
+        type: string
+        default: ""
     outputs:
     outputs:
       cache_key:
       cache_key:
         description: "A cached key of LLVM libraries"
         description: "A cached key of LLVM libraries"
@@ -45,7 +53,7 @@ jobs:
 
 
       - name: retrieve the last commit ID
       - name: retrieve the last commit ID
         id: get_last_commit
         id: get_last_commit
-        run: echo "last_commit=$(GH_TOKEN=${{ secrets.GITHUB_TOKEN }} /usr/bin/env python3 ./build_llvm.py --llvm-ver)" >> $GITHUB_OUTPUT
+        run: echo "last_commit=$(GH_TOKEN=${{ secrets.GITHUB_TOKEN }} /usr/bin/env python3 ./build_llvm.py ${{ inputs.extra_build_llvm_options }} --llvm-ver)" >> $GITHUB_OUTPUT
         working-directory: build-scripts
         working-directory: build-scripts
 
 
       # Bump the prefix number to evict all previous caches and
       # Bump the prefix number to evict all previous caches and
@@ -54,7 +62,7 @@ jobs:
       # suspect.
       # suspect.
       - name: form the cache key of libraries
       - name: form the cache key of libraries
         id: create_lib_cache_key
         id: create_lib_cache_key
-        run: echo "key=0-llvm-libraries-${{ inputs.os }}-${{ inputs.arch }}-${{ steps.get_last_commit.outputs.last_commit }}" >> $GITHUB_OUTPUT
+        run: echo "key=0-llvm-libraries-${{ inputs.os }}-${{ inputs.arch }}-${{ steps.get_last_commit.outputs.last_commit }}${{ inputs.cache_key_suffix }}" >> $GITHUB_OUTPUT
 
 
       - name: Cache LLVM libraries
       - name: Cache LLVM libraries
         id: retrieve_llvm_libs
         id: retrieve_llvm_libs
@@ -101,5 +109,5 @@ jobs:
 
 
       - name: Build LLVM libraries
       - name: Build LLVM libraries
         if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
         if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
-        run: /usr/bin/env python3 ./build_llvm.py --arch ${{ inputs.arch }}
+        run: /usr/bin/env python3 ./build_llvm.py ${{ inputs.extra_build_llvm_options }} --arch ${{ inputs.arch }}
         working-directory: build-scripts
         working-directory: build-scripts

+ 9 - 0
.github/workflows/spec_test_on_nuttx.yml

@@ -39,6 +39,15 @@ jobs:
       arch: "ARM RISCV AArch64"
       arch: "ARM RISCV AArch64"
       container_image: ghcr.io/no1wudi/nuttx/apache-nuttx-ci-linux@sha256:8c4e00b607d4d6d66ba8f51c4544819a616eac69d3a2ac669e2af2150e2eb0f9
       container_image: ghcr.io/no1wudi/nuttx/apache-nuttx-ci-linux@sha256:8c4e00b607d4d6d66ba8f51c4544819a616eac69d3a2ac669e2af2150e2eb0f9
 
 
+  build_llvm_libraries_xtensa:
+    uses: ./.github/workflows/build_llvm_libraries.yml
+    with:
+      os: "ubuntu-22.04"
+      arch: "Xtensa"
+      extra_build_llvm_options: "--platform xtensa"
+      cache_key_suffix: "-xtensa"
+      container_image: ghcr.io/no1wudi/nuttx/apache-nuttx-ci-linux@sha256:8c4e00b607d4d6d66ba8f51c4544819a616eac69d3a2ac669e2af2150e2eb0f9
+
   spec_test_on_qemu:
   spec_test_on_qemu:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     needs: [build_llvm_libraries]
     needs: [build_llvm_libraries]