88 # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
99 BUILD_TYPE : Release
1010 GTEST_REF : b85864c64758dec007208e56af933fc3f52044ee
11+ ORTOOLS_VER : " 9.14"
12+ ORTOOLS_RELEASE : " 6206"
1113
1214jobs :
1315 build-on-ubuntu :
2729 echo "GTEST=$GTEST" >> $GITHUB_ENV
2830 SSCDIR=$GITHUB_WORKSPACE/ssc
2931 echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
32+ ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_Ubuntu-24.04_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
33+ echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV
3034
35+ - name : Download OR-Tools
36+ if : steps.cached-ortools-restore.outputs.cache-hit != 'true'
37+ shell : bash
38+ run : |
39+ curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_amd64_ubuntu-24.04_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.tar.gz -o or-tools-$ORTOOLS_VER.tar.gz
40+ tar xvzf or-tools-$ORTOOLS_VER.tar.gz
41+
42+
3143 - name : Get cached GTest
3244 uses : actions/cache@v4
3345 id : cachedgtest
@@ -49,27 +61,23 @@ jobs:
4961 export
5062 mkdir ${GTEST}/build
5163 cd ${GTEST}/build
52- cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
64+ cmake -DCMAKE_CXX_FLAGS=-std=c++17 ..
5365 make
54-
66+
5567 - name : Checkout SSC
5668 uses : actions/checkout@v4
5769 with :
5870 path : ssc
5971
60- - name : Configure CMake
61- # Configure cmake to build ssc tests but not tools
62- run : |
63- mkdir ${SSCDIR}/build
64- cd ${SSCDIR}/build
65- cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1
66-
67- - name : Build
68- # Build your program with the given configuration
72+ - name : Build SSC
73+ shell : bash
6974 run : |
70- cd ${SSCDIR}/build
75+ # Downloaded OR-Tools has CoinOR enabled
76+ mkdir $SSCDIR/build
77+ cd $SSCDIR/build
78+ cmake -DCMAKE_CONFIGURATION_TYPES="Release" -DENABLE_COVERAGE=1 -DSAM_SKIP_AUTOGEN=0 -DSAMAPI_EXPORT=1 -DSAM_SKIP_TOOLS=1 -DSAMPRIVATE=1 -DUSE_XPRESS=0 -DUSE_COINOR=1 -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_SYSTEM_PREFIX_PATH=${ORTOOLSDIR} -Dabsl_DIR=${ORTOOLSDIR}\lib\cmake\absl" -Dutf8_range_DIR=${ORTOOLSDIR}\lib\cmake\utf8_range" ..
7179 make -j4
72-
80+
7381 - name : Test
7482 # Turn off fast fail for when the landbosse tests write to cerr
7583 run : |
@@ -118,13 +126,22 @@ jobs:
118126 echo "GTEST=$GTEST" >> $GITHUB_ENV
119127 SSCDIR=$GITHUB_WORKSPACE/ssc
120128 echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
129+ ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_macOS-15.5_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
130+ echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV
121131
132+ - name : Download OR-Tools
133+ if : steps.cached-ortools-restore.outputs.cache-hit != 'true'
134+ shell : bash
135+ run : |
136+ curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_x86_64_macOS-15.5_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.tar.gz -o or-tools-$ORTOOLS_VER.tar.gz
137+ tar xvzf or-tools-$ORTOOLS_VER.tar.gz
138+
122139 - name : Get cached GTest
123140 uses : actions/cache@v4
124141 id : cachedgtest
125142 with :
126143 path : ${{env.GTEST}}/
127- key : gtest -${{ matrix.os }}
144+ key : ortools -${{ matrix.os }}
128145 - name : Clone Gtest
129146 if : steps.cachedgtest.outputs.cache-hit != 'true'
130147 uses : actions/checkout@v4
@@ -139,7 +156,7 @@ jobs:
139156 export
140157 mkdir ${GTEST}/build
141158 cd ${GTEST}/build
142- cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
159+ cmake -DCMAKE_CXX_FLAGS=-std=c++17 ..
143160 make
144161
145162 - name : Checkout SSC
@@ -152,7 +169,7 @@ jobs:
152169 run : |
153170 mkdir ${SSCDIR}/build
154171 cd ${SSCDIR}/build
155- cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DSAMAPI_EXPORT=0
172+ cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DSAMAPI_EXPORT=0 -DCMAKE_INSTALL_PREFIX=${ORTOOLSDIR}
156173
157174 - name : Build
158175 # Build your program with the given configuration
@@ -211,6 +228,8 @@ jobs:
211228 runs-on : windows-latest
212229
213230 steps :
231+ - uses : actions/checkout@v4
232+
214233 - name : Setup cmake
215234 uses : jwlawson/actions-setup-cmake@v2
216235 with :
@@ -225,7 +244,17 @@ jobs:
225244 echo "GTEST=$GTEST" >> $GITHUB_ENV
226245 SSCDIR=$GITHUB_WORKSPACE/ssc
227246 echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
228-
247+ ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x64_VisualStudio2022_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE
248+ echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV
249+
250+
251+ - name : Download OR-Tools
252+ if : steps.cached-ortools-restore.outputs.cache-hit != 'true'
253+ shell : bash
254+ run : |
255+ curl -L https://github.com/google/or-tools/releases/download/v$ORTOOLS_VER/or-tools_x64_VisualStudio2022_cpp_v$ORTOOLS_VER.$ORTOOLS_RELEASE.zip -o or-tools-$ORTOOLS_VER.zip
256+ 7z x or-tools-$ORTOOLS_VER.zip
257+
229258 - name : Get cached GTest
230259 uses : actions/cache@v4
231260 id : cachedgtest
@@ -245,7 +274,6 @@ jobs:
245274 if : steps.cachedgtest.outputs.cache-hit != 'true'
246275 shell : bash
247276 run : |
248- export
249277 mkdir ${GTEST}/build
250278 cd ${GTEST}/build
251279 cmake -Dgtest_force_shared_crt=ON ..
@@ -256,19 +284,18 @@ jobs:
256284 with :
257285 path : ssc
258286
259- - name : Configure CMake
287+ - name : Build SSC
260288 shell : bash
261- # Configure cmake to build ssc tests but not tools
262289 run : |
263- mkdir ${SSCDIR}/build
264- cd ${SSCDIR}/build
265- cmake .. -DSAM_SKIP_TOOLS=1 -DCMAKE_CONFIGURATION_TYPES="Release"
266- cmake --build . --config Release -j4
290+ # Downloaded OR-Tools has CoinOR enabled
291+ mkdir $SSCDIR/build
292+ cd $SSCDIR/build
293+ cmake -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release" -DSAM_SKIP_AUTOGEN=0 -DSAMAPI_EXPORT=1 -DSAM_SKIP_TOOLS=1 -DSAMPRIVATE=1 -DUSE_XPRESS=0 -DUSE_COINOR=1 -DCMAKE_SYSTEM_VERSION=10.0 -DCMAKE_SYSTEM_PREFIX_PATH=${ORTOOLSDIR} -Dabsl_DIR=${ORTOOLSDIR}\lib\cmake\absl" -Dutf8_range_DIR=${ORTOOLSDIR}\lib\cmake\utf8_range" ..
294+ cmake --build . --config Release -j4 --target Test
267295 cp ssc/Release/* test/Release
268296
269297 - name : Test
270298 shell : bash
271- # Turn off fast fail for when the landbosse tests write to cerr
272299 run : |
273300 cd ${SSCDIR}/build/test/Release
274301 LOG_FILE=${SSCDIR}/build/test/gtest.log
0 commit comments