Skip to content

Add bundled version of googletest for Arccore #3258

Add bundled version of googletest for Arccore

Add bundled version of googletest for Arccore #3258

name: '[Check] Build/Install/Test Arcane Framework (Ubuntu 22.04-24.04 / GCC 12-14 / CLang 15-16-18 / CUDA 12.2 / 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_C16', 'U22_G12_C15_CU122', 'U24_G14_C18' ]
version_short: [ 'F', 'M' ]
compilo: [ 'CLang', 'GCC' ]
type_build: [ 'Check' ]
mpi: [ 'OpenMPI', 'MPICH' ]
include:
- image_short: 'U22_G12_C16'
image_long: 'ubuntu-2204:gcc-12_clang-16'
image_date: '20230906'
image_args: '-DARCCORE_CXX_STANDARD=23'
image_cuda: false
- image_short: 'U22_G12_C15_CU122'
image_long: 'ubuntu-2204:gcc-12_clang-15_cuda-122'
image_date: '20231127'
# Disable googletest with CUDA because it requires a GPU driver
image_args: '-DARCCORE_CXX_STANDARD=20 -DARCANE_EXECUTE_ACCELERATOR_GOOGLETEST=OFF'
image_cuda: true
- image_short: 'U24_G14_C18'
image_long: 'ubuntu-2404:gcc-14_clang-18'
image_date: '20240531'
image_args: '-DARCCORE_CXX_STANDARD=23'
image_cuda: false
- version_short: 'M'
version_long: 'minimal'
version_args: '-DARCANE_DISABLE_PERFCOUNTER_TESTS=ON'
- version_short: 'F'
version_long: 'full'
version_args: '-DARCANE_DISABLE_PERFCOUNTER_TESTS=ON
-DARCANE_DEFAULT_PARTITIONER=Metis
-DPTScotch_INCLUDE_DIR="/usr/include/scotch"'
- type_build: 'Check'
excluded_tests: '^.*([3-9]proc|[1-9][0-9]+proc|[5-9]thread|[1-9][0-9]+thread).*$'
excluded_tests_with_labels: 'LARGE_HYBRID'
exclude:
- version_short: 'F'
mpi: 'MPICH'
name: '[${{matrix.image_short}}_${{matrix.version_short}}]_${{matrix.compilo}}_${{matrix.mpi}}_${{matrix.type_build}}'
# 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@v1'
with:
image: ghcr.io/arcaneframework/${{matrix.image_long}}_${{matrix.version_long}}_${{matrix.image_date}}
compilo: ${{ matrix.compilo }}
mpi: ${{ matrix.mpi }}
with_cuda: ${{ matrix.image_cuda }}
type_build: ${{ matrix.type_build }}
cmake_additionnal_args: '${{ matrix.image_args }} ${{ matrix.version_args }}'
verbose: true
with_samples: true
execute_tests: ${{ !matrix.image_cuda }}
excluded_tests: ${{ matrix.excluded_tests }}
excluded_tests_with_labels: ${{ matrix.excluded_tests_with_labels }}
cache_key_prefix: ${{matrix.image_short}}_${{matrix.version_short}}_${{matrix.compilo}}_${{matrix.mpi}}_${{matrix.type_build}}