Skip to content

Merge pull request #1677 from arcaneframework/dev/gg-add-cmake-option… #3891

Merge pull request #1677 from arcaneframework/dev/gg-add-cmake-option…

Merge pull request #1677 from arcaneframework/dev/gg-add-cmake-option… #3891

name: '[Check] Build/Install/Test Arcane Framework (Ubuntu 22.04-24.04 / GCC 12-14 / CLang 16-17-18 / CUDA 12.5 / Minimal-Full)'
on:
push:
branches: [ main, dev/cea ]
pull_request:
branches: [ main, dev/cea ]
paths-ignore:
- '**.css'
- '**.dox'
- '**.doxyfile'
- '**.geo'
- '**.goto'
- '**.html'
- '**.jpg'
- '**.js'
- '**.markdown'
- '**.md'
- '**.odg'
- '**.old'
- '**.png'
- '**.py'
- '**.samples'
- '**.svg'
- '**.webp'
- '**.yml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
build-install-test:
strategy:
fail-fast: false
matrix:
image:
- short: 'U22_G12'
long: 'ubuntu-2204'
compilo_name: 'gcc'
compilo_version: '12'
date: '20240717'
args: '-DARCCORE_CXX_STANDARD=23'
cuda: 'false'
acpp: false
execute_tests: true
- short: 'U24_G14'
long: 'ubuntu-2404'
compilo_name: 'gcc'
compilo_version: '14'
date: '20240717'
args: '-DARCCORE_CXX_STANDARD=23'
cuda: 'false'
acpp: false
execute_tests: true
- short: 'U24_C18'
long: 'ubuntu-2404'
compilo_name: 'clang'
compilo_version: '18'
date: '20240717'
args: '-DARCCORE_CXX_STANDARD=23'
cuda: 'false'
acpp: false
execute_tests: true
- short: 'U24_G13_CU125'
long: 'ubuntu-2404'
compilo_name: 'gcc'
compilo_version: '13'
date: '20240717'
# Disable googletest with CUDA because it requires a GPU driver
args: '-DARCCORE_CXX_STANDARD=20 -DARCANE_EXECUTE_ACCELERATOR_GOOGLETEST=OFF'
cuda: 'cuda-125'
acpp: false
execute_tests: false
version:
- short: 'M'
long: 'minimal'
args: '-DARCANE_DISABLE_PERFCOUNTER_TESTS=ON'
- short: 'F'
long: 'full'
args: '-DARCANE_DISABLE_PERFCOUNTER_TESTS=ON
-DARCANE_DEFAULT_PARTITIONER=Metis
-DARCANE_USE_HASHTABLEMAP2_FOR_ITEMINTERNALMAP=ON
-DPTScotch_INCLUDE_DIR="/usr/include/scotch"'
config:
- type: 'Check'
excluded_tests: '^.*([5-9]proc|[1-9][0-9]+proc|[5-9]thread|[1-9][0-9]+thread).*$'
excluded_tests_with_labels: 'LARGE_HYBRID'
ctest_args: '-j4 --timeout 1200'
mpi:
- implementation: 'OMPI'
- implementation: 'MPICH'
exclude:
- { version: { short: 'F' }, mpi: { implementation: 'MPICH' } }
- { version: { short: 'M' }, image: { short: 'U24_G13_CU125' } }
- { version: { short: 'M' }, image: { short: 'U24_C17_CU125' } }
- { version: { short: 'M' }, image: { short: 'U24_ACPP' } }
name: '[${{matrix.image.short}}_${{matrix.version.short}}]_${{matrix.mpi.implementation}}_${{matrix.config.type}}'
# La partie 'uses' est déterminée à la compilation, donc on ne peut pas mettre de variable ${{}}.
uses: 'arcaneframework/gh_actions/.github/workflows/reusable_test_framework.yml@v2'
with:
image: ghcr.io/arcaneframework/${{matrix.image.long}}:${{matrix.image.compilo_name}}-${{matrix.image.compilo_version}}_${{matrix.version.long}}_${{matrix.image.date}}
compilo_name: ${{ matrix.image.compilo_name }}
compilo_version: ${{ matrix.image.compilo_version }}
mpi: ${{ matrix.mpi.implementation }}
cuda: ${{ matrix.image.cuda }}
use_acpp: ${{ matrix.image.acpp }}
type_build: ${{ matrix.config.type }}
cmake_additionnal_args: '${{ matrix.image.args }} ${{ matrix.version.args }}'
verbose: true
ccache_debug_mode: false
with_samples: true
execute_tests: ${{ matrix.image.execute_tests }}
excluded_tests: ${{ matrix.config.excluded_tests }}
excluded_tests_with_labels: ${{ matrix.config.excluded_tests_with_labels }}
ctest_additionnal_args: ${{ matrix.config.ctest_args }}
cache_key_prefix: ${{matrix.image.short}}_${{matrix.version.short}}