Skip to content

Commit

Permalink
Oracle8 build
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonMarechal25 committed Nov 30, 2023
1 parent 9eaff46 commit f853810
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 2 deletions.
147 changes: 147 additions & 0 deletions .github/workflows/build_oracle8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: Oracle 8 Build

on:
merge_group:
push:
branches:
- main
- develop
pull_request:
release:
types: [ created ]

env:
GITHUB_TOKEN: ${{ github.token }}

jobs:
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:
name: Build
runs-on: ubuntu-latest
container: 'oraclelinux:8'
strategy:
matrix:
xprs: [ XPRESS-ON, XPRESS-OFF ]
needs: [ versions ]
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: Install System
run: |
dnf install -y epel-release git cmake wget rpm-build redhat-lsb-core openmpi-devel
dnf install -y unzip libuuid-devel boost-test boost-devel gcc-toolset-9-toolchain zlib-devel python3-devel
- 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.13
if: matrix.xprs == 'XPRESS-ON'

- name: Set up Python
run: |
dnf update -y
dnf install -y python3 python3-pip
- run:
echo ${{needs.versions.outputs.antares-deps-version}}

- 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: Oracle8
os-full-name: OracleServer-8.8

- name: Compile Boost
uses: ./.github/workflows/compile-boost
with:
prefix: "../rte-antares-deps-Release/"

- name: Compile TBB
uses: ./.github/workflows/compile-tbb

- name: Install dependencies
run: |
source /opt/rh/gcc-toolset-9/enable
pip3 install wheel
pip3 install -r requirements-tests.txt
- name: Configure
run: |
[[ ${{ matrix.xprs }} == "XPRESS-ON" ]] && XPRESS_VALUE="ON" || XPRESS_VALUE="OFF"
source /opt/rh/gcc-toolset-9/enable
dnf install jsoncpp-devel
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=OFF \
-DXPRESS=${{ env.XPRESS_VALUE }} \
-DXPRESS_ROOT=${{ env.XPRESSDIR }} \
-DALLOW_RUN_AS_ROOT=ON
- name: Build
run: |
source /opt/rh/gcc-toolset-9/enable
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib64/openmpi/bin:$PATH
cmake --build _build --config Release -j2
- 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"
1 change: 1 addition & 0 deletions .github/workflows/compile-boost/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ runs:
- id: install-boost
shell: bash
run: |
source /opt/rh/gcc-toolset-9/enable || true
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib64/openmpi/bin:$PATH
wget https://github.com/boostorg/boost/releases/download/boost-1.81.0/boost-1.81.0.tar.gz
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/compile-tbb/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ description: "tbb is required for execution policy (parallelization c++)."
inputs:
cmake:
description: 'cmake version'
required: true
default: cmake

runs:
using: "composite"
steps:
- id: install-tbb
shell: bash
run: |
run: |
source /opt/rh/gcc-toolset-9/enable || true
git clone https://github.com/wjakob/tbb.git
cd tbb/build
${{ inputs.cmake }} ..
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
wheel
pyinstaller>=4.3
pyyaml
dataclasses
Expand Down

0 comments on commit f853810

Please sign in to comment.