Skip to content

OR-Tools Integration & C++17 upgrade #1932

OR-Tools Integration & C++17 upgrade

OR-Tools Integration & C++17 upgrade #1932

Workflow file for this run

name: CI
on:
push:
pull_request:
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build-on-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Setup cmake
uses: jwlawson/[email protected]
with:
cmake-version: '3.24.x'
- name: Test cmake version
run: cmake --version
- name: Set relative paths
run: |
GTEST=$GITHUB_WORKSPACE/googletest
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
- name: download OR-Tools
run: |
sudo apt update
sudo apt install -y build-essential cmake lsb-release
cd $GITHUB_WORKSPACE
wget -q https://github.com/google/or-tools/releases/download/v9.7/or-tools_amd64_ubuntu-22.04_cpp_v9.7.2996.tar.gz
tar -xvf or-tools_amd64_ubuntu-22.04_cpp_v9.7.2996.tar.gz
ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_Ubuntu-22.04_cpp_v9.7.2996
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV
- name: Clone Gtest
uses: actions/checkout@v2
with:
repository: google/googletest
path: googletest
ref: b85864c64758dec007208e56af933fc3f52044ee
- name: build Gtest
run: |
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
make
- name: Checkout SSC
uses: actions/checkout@v2
with:
path: ssc
- name: Configure CMake
# Configure cmake to build ssc tests but not tools
run: |
ls $ORTOOLSDIR
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DCMAKE_INSTALL_PREFIX=${ORTOOLSDIR}
- name: Build
# Build your program with the given configuration
run: |
cd ${SSCDIR}/build
make -j4
- name: Test
# Turn off fast fail for when the landbosse tests write to cerr
shell: bash
run: |
set -e
${SSCDIR}/build/test/Test
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: SSC Linux Shared Libraries
path: |
${{env.SSCDIR}}/build/ssc/libssc.so
${{env.SSCDIR}}/build/ssc/ssc.so
build-on-mac:
runs-on: macos-latest
steps:
- name: Setup cmake
uses: jwlawson/[email protected]
with:
cmake-version: '3.24.x'
- name: Test cmake version
run: cmake --version
- name: Set relative paths
run: |
GTEST=$GITHUB_WORKSPACE/googletest
echo "GTEST=$GTEST" >> $GITHUB_ENV
SSCDIR=$GITHUB_WORKSPACE/ssc
echo "SSCDIR=$SSCDIR" >> $GITHUB_ENV
- name: download OR-Tools
run: |
cd $GITHUB_WORKSPACE
wget -q https://github.com/google/or-tools/releases/download/v9.7/
tar -xvf or-tools_x86_64_macOS-13.5_cpp_v9.7.2996.tar.gz
ORTOOLSDIR=$GITHUB_WORKSPACE/or-tools_x86_64_macOS-13.5_cpp_v9.7.2996
echo "ORTOOLSDIR=$ORTOOLSDIR" >> $GITHUB_ENV
- name: Clone Gtest
uses: actions/checkout@v2
with:
repository: google/googletest
path: googletest
ref: b85864c64758dec007208e56af933fc3f52044ee
- name: build Gtest
run: |
export
mkdir ${GTEST}/build
cd ${GTEST}/build
cmake -DCMAKE_CXX_FLAGS=-std=c++11 ..
make
- name: Checkout SSC
uses: actions/checkout@v2
with:
path: ssc
- name: Configure CMake
# Configure cmake to build ssc tests but not tools
run: |
mkdir ${SSCDIR}/build
cd ${SSCDIR}/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DSAM_SKIP_TOOLS=1 -DSAMAPI_EXPORT=0 -DCMAKE_INSTALL_PREFIX=${ORTOOLSDIR}
- name: Build
# Build your program with the given configuration
run: |
cd ${SSCDIR}/build
make -j4
- name: Test
# Turn off fast fail for when the landbosse tests write to cerr
run: |
set -e
${SSCDIR}/build/test/Test
shell: bash
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: SSC Mac Shared Libraries
path: |
${{env.SSCDIR}}/build/ssc/libssc.dylib
${{env.SSCDIR}}/build/ssc/ssc.dylib