|
25 | 25 | with: |
26 | 26 | commit_message: "style: automated clang-format fixes" |
27 | 27 |
|
28 | | - build-and-test: |
| 28 | + build: |
29 | 29 | needs: style-check |
30 | 30 | runs-on: ubuntu-latest |
31 | 31 | strategy: |
|
42 | 42 | - name: Install dependencies |
43 | 43 | run: | |
44 | 44 | sudo apt-get update |
45 | | - sudo apt-get install -y cmake clang clang-tidy llvm ninja-build ccache lcov || (sleep 10 && sudo apt-get update && sudo apt-get install -y cmake clang clang-tidy llvm ninja-build ccache lcov) |
| 45 | + sudo apt-get install -y cmake clang clang-tidy llvm ninja-build ccache || (sleep 10 && sudo apt-get update && sudo apt-get install -y cmake clang clang-tidy llvm ninja-build ccache) |
46 | 46 |
|
47 | 47 | - name: Cache ccache |
48 | 48 | uses: actions/cache@v4 |
@@ -73,17 +73,51 @@ jobs: |
73 | 73 | ninja sqlEngineCore |
74 | 74 | ninja |
75 | 75 |
|
76 | | - - name: Run Tests |
| 76 | + - name: Upload Build Artifacts |
| 77 | + uses: actions/upload-artifact@v4 |
| 78 | + with: |
| 79 | + name: build-${{ matrix.compiler }}-${{ matrix.sanitizer }} |
| 80 | + path: build/ |
| 81 | + include-hidden-files: true |
| 82 | + |
| 83 | + test: |
| 84 | + needs: build |
| 85 | + runs-on: ubuntu-latest |
| 86 | + strategy: |
| 87 | + matrix: |
| 88 | + compiler: [clang++, g++] |
| 89 | + sanitizer: [address, thread] |
| 90 | + exclude: |
| 91 | + - compiler: g++ |
| 92 | + sanitizer: thread |
| 93 | + |
| 94 | + steps: |
| 95 | + - uses: actions/checkout@v4 |
| 96 | + |
| 97 | + - name: Install dependencies |
| 98 | + run: | |
| 99 | + sudo apt-get update |
| 100 | + sudo apt-get install -y lcov python3 || (sleep 10 && sudo apt-get update && sudo apt-get install -y lcov python3) |
| 101 | +
|
| 102 | + - name: Download Build Artifacts |
| 103 | + uses: actions/download-artifact@v4 |
| 104 | + with: |
| 105 | + name: build-${{ matrix.compiler }}-${{ matrix.sanitizer }} |
| 106 | + path: build/ |
| 107 | + |
| 108 | + - name: Restore Permissions |
| 109 | + run: | |
| 110 | + chmod +x build/cloudSQL |
| 111 | + chmod +x build/*_tests || true |
| 112 | +
|
| 113 | + - name: Run Unit Tests |
77 | 114 | run: | |
78 | 115 | cd build |
79 | | - ./cloudSQL_tests |
80 | | - ./lock_manager_tests |
81 | | - ./server_tests |
82 | | - ./transaction_manager_tests |
83 | | - ./statement_tests |
84 | | - ./recovery_tests |
85 | | - ./recovery_manager_tests |
86 | | - ./buffer_pool_tests |
| 116 | + ctest --output-on-failure --parallel $(nproc) |
| 117 | +
|
| 118 | + - name: Run Distributed Tests |
| 119 | + run: | |
| 120 | + ./tests/run_dist_test.sh tests/logic/*.slt |
87 | 121 |
|
88 | 122 | - name: Generate Coverage Report |
89 | 123 | if: matrix.sanitizer == 'address' && matrix.compiler == 'clang++' |
|
0 commit comments