diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a60f2e10..c8ade51e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -52,7 +52,7 @@ jobs: - name: Build run: | cd build - cmake --build . -- -j3 + cmake --build . -- -j$(( `nproc` + 1 )) - name: CodeQL Analysis uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 40bf99fc..6e702e08 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -82,11 +82,6 @@ jobs: cxx: g++-12, install: gcc-12 g++-12 } - - { - cc: gcc-13, - cxx: g++-13, - install: gcc-13 g++-13 - } - { cc: clang-15, cxx: clang++-15, @@ -119,7 +114,7 @@ jobs: - name: Build run: | cd build - cmake --build . -- -j3 + cmake --build . -- -j$(( `nproc` + 1 )) - name: Tests run: | @@ -139,7 +134,7 @@ jobs: mkdir build cd build cmake -DCMAKE_BUILD_TYPE=${{ matrix.build-config }} .. - cmake --build . -- -j3 + cmake --build . -- -j$(( `nproc` + 1 )) - name: List dependencies run: | @@ -150,33 +145,15 @@ jobs: ldd libcage-engine.so - Sanitizers: - name: sanitizer-${{ matrix.sanitizer.name }}-${{ matrix.build-config }} + NoProfiler: + name: no-profiler needs: Ubuntu runs-on: ubuntu-latest env: - CFLAGS: ${{ matrix.sanitizer.flags }} - CXXFLAGS: ${{ matrix.sanitizer.flags }} - LDFLAGS: ${{ matrix.sanitizer.flags }} CC: clang-15 CXX: clang++-15 strategy: fail-fast: false - matrix: - build-config: [debug, release] - sanitizer: - - { - name: undefined, - flags: -fsanitize=undefined -fno-omit-frame-pointer - } - - { - name: address, - flags: -fsanitize=address -fno-omit-frame-pointer - } - - { - name: thread, - flags: -fsanitize=thread -fno-omit-frame-pointer - } steps: - name: Install packages @@ -184,13 +161,6 @@ jobs: sudo apt-get update sudo apt-get install -y xorg-dev nasm libssl-dev clang-15 - - name: Versions - run: | - cmake --version - clang --version - clang++ --version - git --version - - uses: actions/checkout@v4 with: submodules: recursive @@ -199,28 +169,46 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=${{ matrix.build-config }} .. + cmake -DCMAKE_BUILD_TYPE=DEBUG -Dcage_profiling_enabled=OFF .. - name: Build run: | cd build - cmake --build . --target cage-test-core -- -j3 + cmake --build . --target cage-test-core -- -j$(( `nproc` + 1 )) - name: Tests run: | - cd build/result/${{ matrix.build-config }} + cd build/result/debug ./cage-test-core - NoProfiler: - name: no-profiler + Sanitizers: + name: sanitizer-${{ matrix.sanitizer.name }}-${{ matrix.build-config }} needs: Ubuntu runs-on: ubuntu-latest env: + CFLAGS: ${{ matrix.sanitizer.flags }} + CXXFLAGS: ${{ matrix.sanitizer.flags }} + LDFLAGS: ${{ matrix.sanitizer.flags }} CC: clang-15 CXX: clang++-15 strategy: fail-fast: false + matrix: + build-config: [debug, release] + sanitizer: + - { + name: undefined, + flags: -fsanitize=undefined -fno-omit-frame-pointer + } + - { + name: address, + flags: -fsanitize=address -fno-omit-frame-pointer + } + - { + name: thread, + flags: -fsanitize=thread -fno-omit-frame-pointer + } steps: - name: Install packages @@ -228,6 +216,13 @@ jobs: sudo apt-get update sudo apt-get install -y xorg-dev nasm libssl-dev clang-15 + - name: Versions + run: | + cmake --version + clang --version + clang++ --version + git --version + - uses: actions/checkout@v4 with: submodules: recursive @@ -236,16 +231,16 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=DEBUG -Dcage_profiling_enabled=OFF .. + cmake -DCMAKE_BUILD_TYPE=${{ matrix.build-config }} .. - name: Build run: | cd build - cmake --build . --target cage-test-core -- -j3 + cmake --build . --target cage-test-core -- -j$(( `nproc` + 1 )) - name: Tests run: | - cd build/result/debug + cd build/result/${{ matrix.build-config }} ./cage-test-core @@ -254,8 +249,8 @@ jobs: needs: Ubuntu runs-on: ubuntu-latest env: - CC: gcc-13 - CXX: g++-13 + CC: gcc-12 + CXX: g++-12 strategy: fail-fast: false matrix: @@ -273,7 +268,7 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y xorg-dev nasm valgrind libssl-dev g++-13 + sudo apt-get install -y xorg-dev nasm valgrind libssl-dev g++-12 - uses: actions/checkout@v4 with: @@ -283,12 +278,13 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=RELWITHDEBINFO .. + # WAMR_DISABLE_WRITE_GS_BASE: avoid valgrind crashing on an instruction it does not understand + cmake -DWAMR_DISABLE_WRITE_GS_BASE=1 -DCMAKE_BUILD_TYPE=RELWITHDEBINFO .. - name: Build run: | cd build - cmake --build . --target cage-test-core -- -j3 + cmake --build . --target cage-test-core -- -j$(( `nproc` + 1 )) - name: Tests run: |