11name : OSP CI
22
3- on : [push]
4-
5- env :
6- BUILD_TYPE : Release
3+ on :
4+ push :
5+ branches : ["*"]
6+ pull_request :
7+ branches : ["*"]
78
89jobs :
910 # -------------------------------------------------
@@ -14,12 +15,13 @@ jobs:
1415 runs-on : ubuntu-latest
1516 strategy :
1617 matrix :
17- build_type : [Debug, RelWithDebInfo, Release]
18+ build_type : [Debug, RelWithDebInfo, Release, RelWithDebInfo-noEigen ]
1819
1920 steps :
2021 - uses : actions/checkout@v3
2122
2223 - name : Install dependencies
24+ if : matrix.build_type != 'RelWithDebInfo-noEigen'
2325 run : |
2426 sudo apt-get update
2527 sudo apt-get install -y --no-install-recommends \
@@ -28,18 +30,33 @@ jobs:
2830 pip3 install --upgrade pip
2931 pip3 install cmake==3.21.3
3032
33+ - name : Install dependencies (no Eigen)
34+ if : matrix.build_type == 'RelWithDebInfo-noEigen'
35+ run : |
36+ sudo apt-get update
37+ sudo apt-get install -y --no-install-recommends \
38+ make gcc g++ git libboost-all-dev \
39+ doxygen graphviz python3-pip
40+ pip3 install --upgrade pip
41+ pip3 install cmake==3.21.3
42+
3143 - name : Configure (${{ matrix.build_type }})
32- run : cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
44+ run : |
45+ if [ "${{ matrix.build_type }}" = "RelWithDebInfo-noEigen" ]; then
46+ cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
47+ else
48+ cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
49+ fi
3350
3451 - name : Build (${{ matrix.build_type }})
3552 working-directory : ${{ github.workspace }}/build
3653 run : cmake --build . -j$(nproc)
3754
3855 # -------------------------------------------------
39- # 2. FULL BUILD + TEST + SIMPLE DAG RUN
56+ # 2. FULL BUILD + TEST + SIMPLE DAG RUN (with Eigen)
4057 # -------------------------------------------------
4158 test_and_run :
42- name : Build & Test (RelWithDebInfo)
59+ name : Build & Test (RelWithDebInfo + Eigen )
4360 runs-on : ubuntu-latest
4461 needs : build_matrix
4562
@@ -84,12 +101,50 @@ jobs:
84101 --GreedyChildrenKL --GrowLocalKL --GreedyBspHC --FunnelLocking
85102
86103 # -------------------------------------------------
87- # 3. BUILD DOCUMENTATION (only on master)
104+ # 3. FULL BUILD + TEST (NO EIGEN)
105+ # -------------------------------------------------
106+ test_no_eigen :
107+ name : Build & Test (RelWithDebInfo, no Eigen)
108+ runs-on : ubuntu-latest
109+ needs : build_matrix
110+
111+ steps :
112+ - uses : actions/checkout@v3
113+
114+ - name : Install dependencies (no Eigen)
115+ run : |
116+ sudo apt-get update
117+ sudo apt-get install -y --no-install-recommends \
118+ make gcc g++ git libboost-all-dev \
119+ doxygen graphviz python3-pip
120+ pip3 install --upgrade pip
121+ pip3 install cmake==3.21.3
122+
123+ - name : Configure (RelWithDebInfo + tests, no Eigen)
124+ run : cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTS=ON
125+
126+ - name : Build all targets
127+ working-directory : ${{ github.workspace }}/build
128+ run : cmake --build . -j$(nproc)
129+
130+ - name : Run tests (no Eigen)
131+ working-directory : ${{ github.workspace }}/build
132+ run : ctest --output-on-failure --output-junit test_results_no_eigen.xml
133+ continue-on-error : true
134+
135+ - name : Upload test results (no Eigen)
136+ uses : actions/upload-artifact@v4
137+ with :
138+ name : test-results-no-eigen
139+ path : build/test_results_no_eigen.xml
140+
141+ # -------------------------------------------------
142+ # 4. BUILD DOCUMENTATION (only on master)
88143 # -------------------------------------------------
89144 docs :
90145 name : Build Docs
91146 runs-on : ubuntu-latest
92- needs : test_and_run
147+ needs : [ test_and_run, test_no_eigen]
93148 if : github.ref == 'refs/heads/master'
94149
95150 steps :
0 commit comments