From 4f72da0c2c5ef24a14410200b65dd558a0febea7 Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Sat, 22 Feb 2025 14:59:08 +0100 Subject: [PATCH 1/2] [CI] Add a workflow for PR only and required to merge PR --- .github/workflows/build_tests_release.yml | 2 + .github/workflows/build_tests_required_pr.yml | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 .github/workflows/build_tests_required_pr.yml diff --git a/.github/workflows/build_tests_release.yml b/.github/workflows/build_tests_release.yml index d6130eaa0..0750cba7d 100644 --- a/.github/workflows/build_tests_release.yml +++ b/.github/workflows/build_tests_release.yml @@ -104,6 +104,8 @@ jobs: - { version: { short: 'M' }, image: { short: 'U24_G13_CU126' } } - { version: { short: 'M' }, image: { short: 'U24_C18_CU126' } } - { version: { short: 'M' }, image: { short: 'U24_ACPP' } } + # Ce test est fait par build_tests_required. + - { image: { short: 'U24_C19' }, version: { short: 'M' }, config: { type: 'Check' }, mpi: { implementation: 'OMPI' } } name: '[${{matrix.image.short}}_${{matrix.version.short}}]_${{matrix.mpi.implementation}}_${{matrix.config.type}}' diff --git a/.github/workflows/build_tests_required_pr.yml b/.github/workflows/build_tests_required_pr.yml new file mode 100644 index 000000000..65106c894 --- /dev/null +++ b/.github/workflows/build_tests_required_pr.yml @@ -0,0 +1,62 @@ +name: '[Require PR] Build/Install/Test Arcane Framework (Ubuntu 24.04 / CLang 19 / Minimal)' + +on: + pull_request: + branches: [ main, dev/cea ] + 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: 'U24_C19' + long: 'ubuntu-2404' + compilo_name: 'clang' + compilo_version: '19' + acc_compilo_name: '' + acc_compilo_version: '' + date: '20250120' + args: '-DARCCORE_CXX_STANDARD=23' + execute_tests: true + + version: + - short: 'M' + long: 'minimal' + args: '-DARCANE_DISABLE_PERFCOUNTER_TESTS=ON' + + 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' + + 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@v3' + 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 }} + acc_compilo_name: ${{ matrix.image.acc_compilo_name }} + acc_compilo_version: ${{ matrix.image.acc_compilo_version }} + mpi: ${{ matrix.mpi.implementation }} + 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}} + artifact_key_prefix: ${{matrix.image.short}}_${{matrix.version.short}}_${{matrix.mpi.implementation}}_${{matrix.config.type}} From 582e40e351d7809d07d679ef7f584a9b7b108ec4 Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Sat, 22 Feb 2025 15:15:44 +0100 Subject: [PATCH 2/2] [CI] Reduce the number of tests to speed up workflow --- .github/workflows/build_tests_required_pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_tests_required_pr.yml b/.github/workflows/build_tests_required_pr.yml index 65106c894..0615c6598 100644 --- a/.github/workflows/build_tests_required_pr.yml +++ b/.github/workflows/build_tests_required_pr.yml @@ -32,7 +32,7 @@ jobs: config: - type: 'Check' - excluded_tests: '^.*([5-9]proc|[1-9][0-9]+proc|[5-9]thread|[1-9][0-9]+thread).*$' + excluded_tests: '^.*([3-9]proc|[1-9][0-9]+proc|[3-9]thread|[1-9][0-9]+thread).*$' excluded_tests_with_labels: 'LARGE_HYBRID' ctest_args: '-j4 --timeout 1200'