diff --git a/.github/workflows/sel4bench-pr.yml b/.github/workflows/sel4bench-pr.yml index a8ad7934..173ad63e 100644 --- a/.github/workflows/sel4bench-pr.yml +++ b/.github/workflows/sel4bench-pr.yml @@ -30,7 +30,7 @@ jobs: xml: ${{ steps.repo.outputs.xml }} steps: - id: repo - uses: seL4/ci-actions/repo-checkout@master + uses: axel-h/ci-actions/repo-checkout@patch-axel-16 with: manifest_repo: sel4bench-manifest manifest: master.xml @@ -44,16 +44,18 @@ jobs: fail-fast: false matrix: march: [armv7a, armv8a, nehalem, rv64imac] + compiler: [gcc, clang] steps: - name: Build - uses: seL4/ci-actions/sel4bench@master + uses: axel-h/ci-actions/sel4bench@patch-axel-16 with: xml: ${{ needs.code.outputs.xml }} march: ${{ matrix.march }} + compiler: ${{ matrix.compiler }} - name: Upload images uses: actions/upload-artifact@v4 with: - name: images-${{ matrix.march }} + name: images-${{ matrix.march }}-${{matrix.compiler}} path: '*-images.tar.gz' hw-run: @@ -94,15 +96,15 @@ jobs: path: machine_queue - name: Get march id: plat - uses: seL4/ci-actions/march-of-platform@master + uses: axel-h/ci-actions/march-of-platform@patch-axel-16 with: platform: ${{ matrix.platform }} - name: Download image uses: actions/download-artifact@v4 with: - name: images-${{ steps.plat.outputs.march }} + name: images-${{ steps.plat.outputs.march }}-${{matrix.compiler}} - name: Run - uses: seL4/ci-actions/sel4bench-hw@master + uses: axel-h/ci-actions/sel4bench-hw@patch-axel-16 with: platform: ${{ matrix.platform }} req: ${{ matrix.req }} @@ -113,5 +115,5 @@ jobs: uses: actions/upload-artifact@v4 with: # funky expression below is to work around lack of ternary operator - name: sel4bench-results-${{ matrix.platform }}${{ matrix.req != '' && format('-{0}', matrix.req) || '' }} + name: sel4bench-results-${{ matrix.platform }}${{ matrix.req != '' && format('-{0}', matrix.req) || '' }}-${{matrix.compiler}} path: '*.json' diff --git a/.github/workflows/sel4bench.yml b/.github/workflows/sel4bench.yml index 22c4fcb6..d1dacf60 100644 --- a/.github/workflows/sel4bench.yml +++ b/.github/workflows/sel4bench.yml @@ -27,7 +27,7 @@ jobs: xml: ${{ steps.repo.outputs.xml }} steps: - id: repo - uses: seL4/ci-actions/repo-checkout@master + uses: axel-h/ci-actions/repo-checkout@patch-axel-16 with: manifest_repo: sel4bench-manifest manifest: master.xml @@ -40,16 +40,18 @@ jobs: fail-fast: false matrix: march: [armv7a, armv8a, nehalem, rv64imac] + compiler: [gcc, clang] steps: - name: Build - uses: seL4/ci-actions/sel4bench@master + uses: axel-h/ci-actions/sel4bench@patch-axel-16 with: xml: ${{ needs.code.outputs.xml }} march: ${{ matrix.march }} + compiler: ${{ matrix.compiler }} - name: Upload images uses: actions/upload-artifact@v4 with: - name: images-${{ matrix.march }} + name: images-${{ matrix.march }}-${{matrix.compiler}} path: '*-images.tar.gz' hw-run: @@ -84,15 +86,15 @@ jobs: path: machine_queue - name: Get march id: plat - uses: seL4/ci-actions/march-of-platform@master + uses: axel-h/ci-actions/march-of-platform@patch-axel-16 with: platform: ${{ matrix.platform }} - name: Download image uses: actions/download-artifact@v4 with: - name: images-${{ steps.plat.outputs.march }} + name: images-${{ steps.plat.outputs.march }}-${{matrix.compiler}} - name: Run - uses: seL4/ci-actions/sel4bench-hw@master + uses: axel-h/ci-actions/sel4bench-hw@patch-axel-16 with: platform: ${{ matrix.platform }} req: ${{ matrix.req }} @@ -103,7 +105,7 @@ jobs: uses: actions/upload-artifact@v4 with: # funky expression below is to work around lack of ternary operator - name: sel4bench-results-${{ matrix.platform }}${{ matrix.req != '' && format('-{0}', matrix.req) || '' }} + name: sel4bench-results-${{ matrix.platform }}${{ matrix.req != '' && format('-{0}', matrix.req) || '' }}-${{matrix.compiler}} path: '*.json' deploy: @@ -114,7 +116,7 @@ jobs: steps: - name: Deploy manifest id: deploy - uses: seL4/ci-actions/manifest-deploy@master + uses: axel-h/ci-actions/manifest-deploy@patch-axel-16 with: xml: ${{ needs.code.outputs.xml }} manifest_repo: sel4bench-manifest @@ -128,25 +130,25 @@ jobs: - name: Get results for web deployment (sabre) uses: actions/download-artifact@v4 with: - name: sel4bench-results-sabre + name: sel4bench-results-sabre-gcc - name: Get results for web deployment (haswell) uses: actions/download-artifact@v4 with: - name: sel4bench-results-pc99-haswell3 + name: sel4bench-results-pc99-haswell3-gcc - name: Get results for web deployment (skylake) uses: actions/download-artifact@v4 with: - name: sel4bench-results-pc99-skylake + name: sel4bench-results-pc99-skylake-gcc - name: Get results for web deployment (tx1) uses: actions/download-artifact@v4 with: - name: sel4bench-results-tx1 + name: sel4bench-results-tx1-gcc - name: Get results for web deployment (hifive) uses: actions/download-artifact@v4 with: - name: sel4bench-results-hifive + name: sel4bench-results-hifive-gcc - name: Generate web page - uses: seL4/ci-actions/sel4bench-web@master + uses: axel-h/ci-actions/sel4bench-web@patch-axel-16 with: manifest_sha: ${{ steps.deploy.outputs.manifest_sha }} - name: Deploy web page diff --git a/CMakeLists.txt b/CMakeLists.txt index 00732971..88946e39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,8 @@ # SPDX-License-Identifier: BSD-2-Clause # +# dummy change + cmake_minimum_required(VERSION 3.7.2) include(settings.cmake) diff --git a/settings.cmake b/settings.cmake index 54af1d77..eb53c4ab 100644 --- a/settings.cmake +++ b/settings.cmake @@ -64,7 +64,14 @@ if(NOT Sel4benchAllowSettingsOverride) # This option is controlled by ApplyCommonReleaseVerificationSettings mark_as_advanced(CMAKE_BUILD_TYPE) if(RELEASE) - if(NOT KernelArchRiscV) + # Known issues with KernelFWholeProgram ('-fwhole-program'): + # - the RISC-V kernel build with gcc currently fails due to a missing + # compiler runtime helper function. + # - this option is not supposed by 'clang' at all. Note that we can't + # check CMAKE_C_COMPILER_ID here, because it is empty, as this file + # might get processed before CMake does any compiler evaluation. Thus, + # the only option is checking if TRIPLE is set or not. + if((NOT KernelArchRiscV) AND (TRIPLE STREQUAL "")) set(KernelFWholeProgram ON CACHE BOOL "" FORCE) endif() endif()