Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oracle8 build #664

Merged
merged 9 commits into from
Jan 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 145 additions & 0 deletions .github/workflows/build_oracle8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Oracle 8 Build

on:
merge_group:
push:
branches:
- 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

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the purpose of python3-devel? later on line 86 you installed python3.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

devel version is required to build wheel which is required to pyinstaller

- 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.9

- 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 -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
2 changes: 1 addition & 1 deletion antares-version.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"antares_version": "8.8.0-rc2",
"antares_version": "8.8.0",
"antares_version_executable": "8.8",
"antares_xpansion_version": "1.2.0",
"antares_deps_version": "2.0.7",
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
Loading