WIP Windows build #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI-cpp | |
on: [push] | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
windows: | |
name: Windows | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Install Sirius | |
run: | | |
curl -o windows-latest_sirius-solver.zip https://github.com/rte-france/sirius-solver/releases/download/antares-integration-v1.4/windows-latest_sirius-solver.zip | |
unzip windows-latest_sirius-solver.zip | |
mv windows-latest_sirius-solver-install sirius_install | |
export SIRIUS_INSTALL_PATH=$(pwd)/sirius_install | |
export SIRIUS=$(pwd)/sirius_install/bin | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install Boost via conan | |
run: | | |
conan install -if build -pr:b default -pr:h default . --build missing --build outdated --settings build_type=Release | |
- name: Configure 3rd parties | |
working-directory: metrix-simulator | |
run: | | |
cmake -S external \ | |
-B build-linux/external \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DUSE_XPRESS=${{ matrix.xprs }} \ | |
-DXPRESS_ROOT="${{ env.XPRESSDIR }}" | |
- name: Build 3rd parties | |
working-directory: metrix-simulator | |
run: cmake --build build-linux/external --parallel 2 | |
- name: Configure CMake | |
working-directory: metrix-simulator | |
run: | | |
cmake -S . \ | |
-B build-linux \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=build-linux/install \ | |
-DINSTALL_CMAKE_DIR=. \ | |
-DUSE_ORTOOLS=ON \ | |
-DUSE_XPRESS=${{ matrix.xprs }} \ | |
-DXPRESS_ROOT="${{ env.XPRESSDIR }}" | |
- name: Build | |
working-directory: metrix-simulator | |
run: cmake --build build-linux --target install --parallel 2 | |
- name: Tests | |
working-directory: metrix-simulator/build-linux | |
run: ctest -j8 --output-on-failure | |
- name: Prepare metrix install | |
id: metrix-install | |
working-directory: metrix-simulator/build-linux | |
run: | | |
[ ${{ matrix.xprs }} == "ON" ] && ARCHIVE_NAME=metrix_xprs || ARCHIVE_NAME=metrix | |
ARCHIVE_PATH="${{ github.workspace }}/metrix-simulator/build-linux/install" | |
echo "::set-output name=archive_name::$ARCHIVE_NAME" | |
echo "::set-output name=archive_path::$ARCHIVE_PATH" | |
- name: Upload metrix install artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.metrix-install.outputs.archive_name }} | |
path: ${{ steps.metrix-install.outputs.archive_path }} | |
linux: | |
name: Linux xprs=${{ matrix.xprs }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
xprs: [ON, OFF] | |
steps: | |
- name: Install Boost | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y libboost-all-dev | |
- name : Install Python Xpress | |
run: | | |
pip install xpress | |
ls /home/runner/.local/lib/python3.10/site-packages/xpress/lib | |
cd /home/runner/.local/lib/python3.10/site-packages/xpress/lib | |
ln -s libxprs.so* libxprs.so | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Setup xpress env | |
if: ${{ matrix.xprs == 'ON' }} | |
run: | | |
echo "XPRESSDIR=/home/runner/.local/lib/python3.10/site-packages/xpress" >> $GITHUB_ENV | |
echo "XPRESS=/home/runner/.local/lib/python3.10/site-packages/xpress/license/community-xpauth.xpr" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=/home/runner/.local/lib/python3.10/site-packages/xpress/lib" >> $GITHUB_ENV | |
- name: Configure 3rd parties | |
working-directory: metrix-simulator | |
run: | | |
cmake -S external \ | |
-B build-linux/external \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DUSE_XPRESS=${{ matrix.xprs }} \ | |
-DXPRESS_ROOT="${{ env.XPRESSDIR }}" | |
- name: Build 3rd parties | |
working-directory: metrix-simulator | |
run: cmake --build build-linux/external --parallel 2 | |
- name: Configure CMake | |
working-directory: metrix-simulator | |
run: | | |
cmake -S . \ | |
-B build-linux \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=build-linux/install \ | |
-DINSTALL_CMAKE_DIR=. \ | |
-DUSE_ORTOOLS=ON \ | |
-DUSE_XPRESS=${{ matrix.xprs }} \ | |
-DXPRESS_ROOT="${{ env.XPRESSDIR }}" | |
- name: Build | |
working-directory: metrix-simulator | |
run: cmake --build build-linux --target install --parallel 2 | |
- name: Tests | |
working-directory: metrix-simulator/build-linux | |
run: ctest -j8 --output-on-failure | |
- name: Prepare metrix install | |
id: metrix-install | |
working-directory: metrix-simulator/build-linux | |
run: | | |
[ ${{ matrix.xprs }} == "ON" ] && ARCHIVE_NAME=metrix_xprs || ARCHIVE_NAME=metrix | |
ARCHIVE_PATH="${{ github.workspace }}/metrix-simulator/build-linux/install" | |
echo "::set-output name=archive_name::$ARCHIVE_NAME" | |
echo "::set-output name=archive_path::$ARCHIVE_PATH" | |
- name: Upload metrix install artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.metrix-install.outputs.archive_name }} | |
path: ${{ steps.metrix-install.outputs.archive_path }} |