Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Hypre directbuilder (#189) #106

Hypre directbuilder (#189)

Hypre directbuilder (#189) #106

name: IFPEN el8 foss/2018b
on:
push:
branches: [ develop ]
workflow_dispatch:
env:
# Alien
ALIEN_BUILD_DIR: /__w/alien/alien/alien_build
ALIEN_INSTALL_DIR: /__w/alien/alien/alien_install
ALIEN_SOURCE_DIR: /__w/alien/alien/alien
# AlienLegacy
ALIENLEGACY_BUILD_DIR: /__w/alien/alien/alienlegacy_build
ALIENLEGACY_INSTALL_DIR: /__w/alien/alien/alienlegacy_install
ALIENLEGACY_SOURCE_DIR: /__w/alien/alien/alienlegacy
# Arccon
ARCCON_BUILD_DIR: /__w/alien/alien/arccon_build
ARCCON_INSTALL_DIR: /__w/alien/alien/arccon_install
ARCCON_SOURCE_DIR: /__w/alien/alien/arccon
# Arccore
ARCCORE_BUILD_DIR: /__w/alien/alien/arccore_build
ARCCORE_INSTALL_DIR: /__w/alien/alien/arccore_install
ARCCORE_SOURCE_DIR: /__w/alien/alien/arccore
# Dependencies
DEPENDENCIES_BUILD_DIR: /__w/alien/alien/dependencies_build
DEPENDENCIES_INSTALL_DIR: /__w/alien/alien/dependencies_install
DEPENDENCIES_SOURCE_DIR: /__w/alien/alien/dependencies
# Axlstar
AXLSTAR_BUILD_DIR: /__w/alien/alien/axlstar_build
AXLSTAR_INSTALL_DIR: /__w/alien/alien/axlstar_install
AXLSTAR_SOURCE_DIR: /__w/alien/alien/axlstar
# ccache
CC_KEY_PREFIX: ifpen-el8-foss-2018b
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CCACHE_DIR: '/__w/alien/alien/ccache'
CCACHE_MAXSIZE: 5G
# CMake
CM_BUILD_OPTS: "-j2"
CM_BUILD_TYPE: Release
CM_CCACHE_OPTS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
# CTest
CT_OPTS: "--timeout 300 --output-on-failure"
jobs:
arccon-install:
name: arccon-install
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
repository: arcaneframework/framework
path: ${{ env.ARCCON_SOURCE_DIR }}
ref: main
- name: Configure
shell: bash
run: cmake -S ${{ env.ARCCON_SOURCE_DIR }}/arccon -B ${{ env.ARCCON_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.ARCCON_INSTALL_DIR }}
- name: Build
shell: bash
run: cmake --build ${{ env.ARCCON_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.ARCCON_BUILD_DIR }}
- name: Tar install artifact
shell: bash
run: tar cf arccon-install-artifact.tar ${{ env.ARCCON_INSTALL_DIR }}
- name: Upload install artifact
uses: actions/upload-artifact@v3
with:
name: arccon-install-artifact
path: arccon-install-artifact.tar
retention-days: 1
arccore-install:
name: arccore-install
needs:
- arccon-install
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
repository: arcaneframework/framework
path: ${{ env.ARCCORE_SOURCE_DIR }}
ref: main
- name: Download arccon install artifact
uses: actions/download-artifact@v3
with:
name: arccon-install-artifact
- name: Untar arccon install artifact
shell: bash
run: tar xf arccon-install-artifact.tar -C /
- name: Get date
id: get-date
shell: bash
run: echo "NOW=$(/bin/date -u '+%Y%m%d%H%M%S')" >> $GITHUB_ENV
- name: Get cache for ccache tool
uses: actions/cache@v3
with:
path: ${{env.CCACHE_DIR}}
key: ${{ env.CC_KEY_PREFIX }}-arccore-${{ env.CM_BUILD_TYPE }}-${{ env.NOW }}-${{ github.run_number }}
restore-keys: ${{ env.CC_KEY_PREFIX }}-arccore-${{ env.CM_BUILD_TYPE }}-
- name: Configure
shell: bash
run: cmake -S ${{ env.ARCCORE_SOURCE_DIR }}/arccore -B ${{ env.ARCCORE_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.ARCCORE_INSTALL_DIR }} -DArccon_DIR=${{ env.ARCCON_INSTALL_DIR }}/share/cmake/Arccon -DBUILD_SHARED_LIBS=ON ${{ env.CM_CCACHE_OPTS }}
- name: Build
shell: bash
run: cmake --build ${{ env.ARCCORE_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.ARCCORE_BUILD_DIR }}
- name: Tar build artifact
shell: bash
run: tar cf arccore-build-artifact.tar ${{ env.ARCCORE_BUILD_DIR }}
- name: Upload build artifact
uses: actions/upload-artifact@v3
with:
name: arccore-build-artifact
path: arccore-build-artifact.tar
retention-days: 1
- name: Tar install artifact
shell: bash
run: tar cf arccore-install-artifact.tar ${{ env.ARCCORE_INSTALL_DIR }}
- name: Upload install artifact
uses: actions/upload-artifact@v3
with:
name: arccore-install-artifact
path: arccore-install-artifact.tar
retention-days: 1
dependencies-install:
name: dependencies-install
needs:
- arccon-install
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
repository: arcaneframework/dependencies
path: ${{ env.DEPENDENCIES_SOURCE_DIR }}
ref: main
- name: Download arccon install artifact
uses: actions/download-artifact@v3
with:
name: arccon-install-artifact
- name: Untar arccon install artifact
shell: bash
run: tar xf arccon-install-artifact.tar -C /
- name: Configure
shell: bash
run: cmake -S ${{ env.DEPENDENCIES_SOURCE_DIR }} -B ${{ env.DEPENDENCIES_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.DEPENDENCIES_INSTALL_DIR }} -DArccon_DIR=${{ env.ARCCON_INSTALL_DIR }}/share/cmake/Arccon
- name: Build
shell: bash
run: cmake --build ${{ env.DEPENDENCIES_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.DEPENDENCIES_BUILD_DIR }}
- name: Tar install ariftact
shell: bash
run: tar cf dependencies-install-artifact.tar ${{ env.DEPENDENCIES_INSTALL_DIR }}
- name: Upload install artifact
uses: actions/upload-artifact@v3
with:
name: dependencies-install-artifact
path: dependencies-install-artifact.tar
retention-days: 1
axlstar-install:
name: axlstar-install
needs:
- arccon-install
- dependencies-install
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
repository: arcaneframework/framework
path: ${{ env.AXLSTAR_SOURCE_DIR }}
ref: main
- name: Download arccon install artifact
uses: actions/download-artifact@v3
with:
name: arccon-install-artifact
- name: Untar arccon install artifact
shell: bash
run: tar xf arccon-install-artifact.tar -C /
- name: Download dependencies install artifact
uses: actions/download-artifact@v3
with:
name: dependencies-install-artifact
- name: Untar dependencies install artifact
shell: bash
run: tar xf dependencies-install-artifact.tar -C /
- name: Configure
shell: bash
run: cmake -S ${{ env.AXLSTAR_SOURCE_DIR }}/axlstar -B ${{ env.AXLSTAR_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.AXLSTAR_INSTALL_DIR }} -DArccon_DIR=${{ env.ARCCON_INSTALL_DIR }}/share/cmake/Arccon -DArcDependencies_DIR=${{ env.DEPENDENCIES_INSTALL_DIR }}/share/cmake/ArcDependencies
- name: Build
shell: bash
run: cmake --build ${{ env.AXLSTAR_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.AXLSTAR_BUILD_DIR }}
- name: Tar install artifact
shell: bash
run: tar cf axlstar-install-artifact.tar ${{ env.AXLSTAR_INSTALL_DIR }}
- name: Upload install artifact
uses: actions/upload-artifact@v3
with:
name: axlstar-install-artifact
path: axlstar-install-artifact.tar
retention-days: 1
alien-install:
name: alien-install
needs:
- arccon-install
- arccore-install
runs-on: ubuntu-latest
timeout-minutes: 60
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: ${{ env.ALIEN_SOURCE_DIR }}
- name: Download arccon install artifact
uses: actions/download-artifact@v3
with:
name: arccon-install-artifact
- name: Untar arccon install artifact
shell: bash
run: tar xf arccon-install-artifact.tar -C /
- name: Download arccore install artifact
uses: actions/download-artifact@v3
with:
name: arccore-install-artifact
- name: Untar arccore install artifact
shell: bash
run: tar xf arccore-install-artifact.tar -C /
- name: Get date
id: get-date
shell: bash
run: echo "NOW=$(/bin/date -u '+%Y%m%d%H%M%S')" >> $GITHUB_ENV
- name: Get cache for ccache tool
uses: actions/cache@v3
with:
path: ${{env.CCACHE_DIR}}
key: ${{ env.CC_KEY_PREFIX }}-alien-${{ env.CM_BUILD_TYPE }}-${{ env.NOW }}-${{ github.run_number }}
restore-keys: ${{ env.CC_KEY_PREFIX }}-alien-${{ env.CM_BUILD_TYPE }}-
- name: Configure
shell: bash
run: cmake -S ${{ env.ALIEN_SOURCE_DIR }} -B ${{ env.ALIEN_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.ALIEN_INSTALL_DIR }} -DALIENDEV_EMBEDDED=OFF -DArccon_DIR=${{ env.ARCCON_INSTALL_DIR }}/share/cmake/Arccon -DArccore_DIR=${{ env.ARCCORE_INSTALL_DIR }}/lib/cmake/Arccore -DCMAKE_FIND_DEBUG_MODE=1 -DVerbose=ON -DBoost_NO_BOOST_CMAKE=ON -DBUILD_SHARED_LIBS=ON -DALIEN_USE_HDF5=ON ${{ env.CM_CCACHE_OPTS }}
- name: Build
shell: bash
run: cmake --build ${{ env.ALIEN_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.ALIEN_BUILD_DIR }}
- name: Tar build artifact
shell: bash
run: tar cf alien-build-artifact.tar ${{ env.ALIEN_BUILD_DIR }}
- name: Upload build artifact
uses: actions/upload-artifact@v3
with:
name: alien-build-artifact
path: alien-build-artifact.tar
retention-days: 1
- name: Tar install artifact
shell: bash
run: tar cf alien-install-artifact.tar ${{ env.ALIEN_INSTALL_DIR }}
- name: Upload install artifact
uses: actions/upload-artifact@v3
with:
name: alien-install-artifact
path: alien-install-artifact.tar
retention-days: 1
alienlegacy-install:
name: alienlegacy-install
needs:
- alien-install
- arccon-install
- arccore-install
- axlstar-install
runs-on: ubuntu-latest
timeout-minutes: 60
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
repository: arcaneframework/alien_legacy_plugins
path: ${{ env.ALIENLEGACY_SOURCE_DIR }}
ref: main
submodules: true
- name: Download arccon install artifact
uses: actions/download-artifact@v3
with:
name: arccon-install-artifact
- name: Untar arccon install artifact
shell: bash
run: tar xf arccon-install-artifact.tar -C /
- name: Download arccore install artifact
uses: actions/download-artifact@v3
with:
name: arccore-install-artifact
- name: Untar arccore install artifact
shell: bash
run: tar xf arccore-install-artifact.tar -C /
- name: Download alien install artifact
uses: actions/download-artifact@v3
with:
name: alien-install-artifact
- name: Untar alien install artifact
shell: bash
run: tar xf alien-install-artifact.tar -C /
- name: Download axlstar install artifact
uses: actions/download-artifact@v3
with:
name: axlstar-install-artifact
- name: Untar axlstar install artifact
shell: bash
run: tar xf axlstar-install-artifact.tar -C /
- name: Get date
id: get-date
shell: bash
run: echo "NOW=$(/bin/date -u '+%Y%m%d%H%M%S')" >> $GITHUB_ENV
- name: Get cache for ccache tool
uses: actions/cache@v3
with:
path: ${{env.CCACHE_DIR}}
key: ${{ env.CC_KEY_PREFIX }}-alienlegacy-${{ env.CM_BUILD_TYPE }}-${{ env.NOW }}-${{ github.run_number }}
restore-keys: ${{ env.CC_KEY_PREFIX }}-alienlegacy-${{ env.CM_BUILD_TYPE }}-
- name: Configure
shell: bash
run: cmake -S ${{ env.ALIENLEGACY_SOURCE_DIR }} -B ${{ env.ALIENLEGACY_BUILD_DIR }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DCMAKE_INSTALL_PREFIX=${{ env.ALIENLEGACY_INSTALL_DIR }} -DBUILD_SHARED_LIBS=ON -DArccon_ROOT=${{ env.ARCCON_INSTALL_DIR }} -DArccore_ROOT=${{ env.ARCCORE_INSTALL_DIR }} -DAxlstar_ROOT=${{ env.AXLSTAR_INSTALL_DIR }} -DAlien_ROOT=${{ env.ALIEN_INSTALL_DIR }} -DUSE_BUILDSYSTEM_GIT_SUBMODULE=ON ${{ env.CM_CCACHE_OPTS }}
- name: Build
shell: bash
run: cmake --build ${{ env.ALIENLEGACY_BUILD_DIR }} ${{ env.CM_BUILD_OPTS }}
- name: Install
shell: bash
run: cmake --install ${{ env.ALIENLEGACY_BUILD_DIR }}
- name: Tar build artifact
shell: bash
run: tar cf alienlegacy-build-artifact.tar ${{ env.ALIENLEGACY_BUILD_DIR }}
- name: Upload build artifact
uses: actions/upload-artifact@v3
with:
name: alienlegacy-build-artifact
path: alienlegacy-build-artifact.tar
retention-days: 1
arccore-test:
name: arccore-test
needs:
- arccore-install
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
strategy:
fail-fast: false
steps:
- name: Download arccore build artifact
uses: actions/download-artifact@v3
with:
name: arccore-build-artifact
- name: Untar arccore build artifact
shell: bash
run: tar xf arccore-build-artifact.tar -C /
- name: Test
shell: bash
run: ctest --test-dir ${{ env.ARCCORE_BUILD_DIR }} ${{ env.CT_OPTS }}
- name: Upload test artifact
uses: actions/upload-artifact@v3
if: failure()
with:
name: arccore-test-artifact
path: ${{ env.ARCCORE_BUILD_DIR }}/Testing
retention-days: 1
#alien-test:
# name: alien-test
# needs:
# - arccore-install
# - alien-install
# runs-on: ubuntu-latest
# timeout-minutes: 180
# container:
# image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
# strategy:
# fail-fast: false
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# path: ${{ env.ALIEN_SOURCE_DIR }}
# - name: Download alien build artifact
# uses: actions/download-artifact@v3
# with:
# name: alien-build-artifact
# - name: Untar alien build artifact
# shell: bash
# run: tar xf alien-build-artifact.tar -C /
# - name: Download arccore install artifact
# uses: actions/download-artifact@v3
# with:
# name: arccore-install-artifact
# - name: Untar arccore install artifact
# shell: bash
# run: tar xf arccore-install-artifact.tar -C /
# - name: Test
# shell: bash
# run: ctest --test-dir ${{ env.ALIEN_BUILD_DIR }} ${{ env.CT_OPTS }}
# - name: Upload test artifact
# uses: actions/upload-artifact@v3
# if: failure()
# with:
# name: alien-test-artifact
# path: ${{ env.ALIEN_BUILD_DIR }}/Testing
# retention-days: 1
#alienlegacy-test:
# name: alienlegacy-test
# needs:
# - arccore-install
# - alien-install
# - alienlegacy-install
# runs-on: ubuntu-22.04
# timeout-minutes: 180
# container:
# image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2018b:el8
# strategy:
# fail-fast: false
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# repository: arcaneframework/alien_legacy_plugins
# path: ${{ env.ALIENLEGACY_SOURCE_DIR }}
# ref: main
# submodules: true
# - name: Download alienlegacy build artifact
# uses: actions/download-artifact@v3
# with:
# name: alienlegacy-build-artifact
# - name: Untar alienlegacy build artifact
# shell: bash
# run: tar xf alienlegacy-build-artifact.tar -C /
# - name: Download alien install artifact
# uses: actions/download-artifact@v3
# with:
# name: alien-install-artifact
# - name: Untar alien install artifact
# shell: bash
# run: tar xf alien-install-artifact.tar -C /
# - name: Download arccore install artifact
# uses: actions/download-artifact@v3
# with:
# name: arccore-install-artifact
# - name: Untar arccore install artifact
# shell: bash
# run: tar xf arccore-install-artifact.tar -C /
# - name: Test
# shell: bash
# run: ctest --test-dir ${{ env.ALIENLEGACY_BUILD_DIR }} ${{ env.CT_OPTS }}
# - name: Upload test artifact
# uses: actions/upload-artifact@v3
# if: failure()
# with:
# name: alienlegacy-test-artifact
# path: ${{ env.ALIENLEGACY_BUILD_DIR }}/Testing
# retention-days: 1