Skip to content

Feature/detect xpress at runtime #1329

Feature/detect xpress at runtime

Feature/detect xpress at runtime #1329

Workflow file for this run

name: Centos7 Build
on:
merge_group:
push:
branches:
- main
- develop
pull_request:
release:
types: [ created ]
env:
GITHUB_TOKEN: ${{ github.token }}
jobs:
docker_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v32
with:
files: |
docker/centos7-system-deps
- name: Docker file push
id: docker_push
if: steps.changed-files.outputs.any_changed == 'true'
uses: elgohr/Publish-Docker-Github-Action@main
with:
name: antaresrte/rte-antares
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
workdir: docker
dockerfile: centos7-system-deps
cache: false
tags: centos7-system-deps
versions:
runs-on: ubuntu-latest
outputs:
antares-version: ${{steps.antares-version.outputs.result}}
antares-xpansion-version: ${{steps.antares-xpansion-version.outputs.result}}
antares-deps-version: ${{steps.antares-deps-version.outputs.result}}
steps:
- uses: actions/checkout@v3
- name: Read antares-solver version
id: antares-version
uses: ./.github/actions/read-json-value
with:
path: 'antares-version.json'
key: 'antares_version'
- name: Read antares-xpansion version
id: antares-xpansion-version
uses: ./.github/actions/read-json-value
with:
path: 'antares-version.json'
key: 'antares_xpansion_version'
- name: Read antares-deps version
id: antares-deps-version
uses: ./.github/actions/read-json-value
with:
path: 'antares-version.json'
key: 'antares_deps_version'
build:
runs-on: ubuntu-latest
needs: [ docker_publish, versions ]
container: 'antaresrte/rte-antares:centos7-system-deps'
strategy:
matrix:
xprs: [ XPRESS-ON, XPRESS-OFF ]
env:
XPRESSDIR: ${{ github.workspace }}/xpress
XPRESS: ${{ github.workspace }}/xpress/bin
XPRS_LIB_Path: ${{ github.workspace }}/xpress/lib
XPRESSDIR_CONTAINER: ${GITHUB_WORKSPACE}/xpress
XPRESS_CONTAINER: ${GITHUB_WORKSPACE}/xpress/bin
XPRS_LIB_Path_CONTAINER: ${GITHUB_WORKSPACE}/xpress/lib
steps:
- name: Get release
if: github.event_name == 'release' && github.event.action == 'created'
id: get_release
uses: bruceadams/[email protected]
- uses: actions/checkout@v3
with:
submodules: true
- name: Checkout xpressmp linux
uses: actions/checkout@v3
with:
token: ${{ secrets.AS_TOKEN }}
repository: rte-france/xpress-mp
path: ${{ env.XPRESSDIR }}
github-server-url: https://github.com
ref: 8.13a
if: matrix.xprs == 'XPRESS-ON'
- name: Download pre-compiled librairies
uses: ./.github/workflows/download-extract-precompiled-libraries-tgz
with:
antares-deps-version: ${{needs.versions.outputs.antares-deps-version}}
antares-version: ${{needs.versions.outputs.antares-version}}
os: centos7
os-full-name: CentOS-7.9.2009
#variant: -ortools-xpress
- name: Compile Boost
uses: ./.github/workflows/compile-boost
with:
prefix: "../rte-antares-deps-Release/"
- name: Compile tbb
uses: ./.github/workflows/compile-tbb
with:
cmake: 'cmake3'
- name: Install dependencies
run: |
pip3 install --upgrade pip
pip3 install wheel #Does not work in requirements
pip3 install -r requirements-tests.txt
pip3 install -r requirements-ui.txt
- name: Configure
run: |
[[ ${{ matrix.xprs }} == "XPRESS-ON" ]] && XPRESS_VALUE="ON" || XPRESS_VALUE="OFF"
source /opt/rh/devtoolset-9/enable
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib64/openmpi/bin:$PATH
cmake3 -B _build -S . \
-DDEPS_INSTALL_DIR=rte-antares-deps-Release \
-DBUILD_TESTING=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=_install \
-DBUILD_UI=ON \
-DXPRESS=${{ env.XPRESS_VALUE }} \
-DXPRESS_ROOT=${{ env.XPRESSDIR }} \
-DALLOW_RUN_AS_ROOT=ON
- name: Build
run: |
source /opt/rh/devtoolset-9/enable
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib64/openmpi/bin:$PATH
cmake3 --build _build --config Release -j8 --target install
- name: Running unit tests
timeout-minutes: 120
shell: bash
run: |
source /etc/profile.d/modules.sh
module load mpi
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:${{ env.XPRS_LIB_Path_CONTAINER }}
export XPRESS=${{ env.XPRESS_CONTAINER }}
cd _build
ctest3 -C Release --output-on-failure -L "unit|benders|lpnamer|medium"