Skip to content

Commit 890f276

Browse files
committed
ci: separate build and test jobs, run all tests
1 parent 2a42f35 commit 890f276

1 file changed

Lines changed: 45 additions & 11 deletions

File tree

.github/workflows/ci.yml

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
with:
2626
commit_message: "style: automated clang-format fixes"
2727

28-
build-and-test:
28+
build:
2929
needs: style-check
3030
runs-on: ubuntu-latest
3131
strategy:
@@ -42,7 +42,7 @@ jobs:
4242
- name: Install dependencies
4343
run: |
4444
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)
4646
4747
- name: Cache ccache
4848
uses: actions/cache@v4
@@ -73,17 +73,51 @@ jobs:
7373
ninja sqlEngineCore
7474
ninja
7575
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
77114
run: |
78115
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
87121
88122
- name: Generate Coverage Report
89123
if: matrix.sanitizer == 'address' && matrix.compiler == 'clang++'

0 commit comments

Comments
 (0)