Move component arcane_accelerator_core from Arcane to Arccore
#6405
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # CI to compile in all components (Arccon/Arccore/Axlstar/Arcane) together using 'vcpkg' | |
| name: compile-all-vcpkg | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**.css' | |
| - '**.dox' | |
| - '**.doxyfile' | |
| - '**.geo' | |
| - '**.goto' | |
| - '**.html' | |
| - '**.jpg' | |
| - '**.js' | |
| - '**.markdown' | |
| - '**.md' | |
| - '**.odg' | |
| - '**.old' | |
| - '**.png' | |
| - '**.py' | |
| - '**.samples' | |
| - '**.svg' | |
| - '**.webp' | |
| - '**.yml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| job: | |
| name: ${{ matrix.full_name }}-ci-direct | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| base_os: ubuntu | |
| full_name: 'ubuntu-cxx20-22.04' | |
| package_name: 'ubuntu-22.04' | |
| triplet: x64-linux-dynamic | |
| vcpkg_os: ubuntu-22.04 | |
| dotnet_version : "6.0.x" | |
| cmake_specific_args : '-DALIEN_BUILD_COMPONENT=all -DARCCORE_BUILD_MODE=Debug -DCMAKE_BUILD_TYPE=Debug -DARCANE_ENABLE_DOTNET_PYTHON_WRAPPER=OFF' | |
| ctest_specific_args : '-I 1,210' | |
| - os: ubuntu-24.04 | |
| base_os: ubuntu | |
| full_name: 'ubuntu-cxx20-24.04' | |
| package_name: 'ubuntu-24.04' | |
| triplet: x64-linux-dynamic | |
| vcpkg_os: ubuntu-24.04 | |
| dotnet_version : "8.0.x" | |
| cmake_specific_args : '-DALIEN_BUILD_COMPONENT=all -DARCCORE_BUILD_MODE=Debug -DCMAKE_BUILD_TYPE=Debug -DARCANE_ENABLE_DOTNET_PYTHON_WRAPPER=ON' | |
| ctest_specific_args : '-I 1,210' | |
| - os: 'windows-2022' | |
| base_os: windows | |
| full_name: 'windows-2022-cxx20-intelmpi' | |
| package_name: 'windows-2022-intelmpi' | |
| triplet: x64-windows | |
| vcpkg_os: windows-2022 | |
| dotnet_version : "8.0.x" | |
| cmake_specific_args : '-DCMAKE_BUILD_TYPE=Release' | |
| ctest_specific_args : '-I 1,160' | |
| - os: 'windows-2022' | |
| base_os: windows | |
| full_name: 'windows-2022-cxx20-debug-intelmpi' | |
| package_name: 'windows-2022-intelmpi' | |
| triplet: x64-windows | |
| vcpkg_os: windows-2022 | |
| dotnet_version : "8.0.x" | |
| cmake_specific_args : '-DCMAKE_BUILD_TYPE=Debug' | |
| ctest_specific_args : '-I 1,160' | |
| env: | |
| # Indique pour IntelMPI de ne pas faire d'attente active | |
| I_MPI_WAIT_MODE: 1 | |
| # Pour indiquer a OpenMPI qu'on utilise plus de PE que de coeurs disponibles | |
| OMPI_MCA_rmaps_base_oversubscribe : true | |
| CCACHE_BASEDIR: ${{github.workspace}} | |
| CCACHE_DIR: '${{ github.workspace }}/ccache' | |
| CCACHE_COMPRESS: true | |
| CCACHE_COMPRESSLEVEL: 6 | |
| CCACHE_MAXSIZE: 5G | |
| # Indicates the CMake build directory where project files and binaries are being produced. | |
| CMAKE_BUILD_DIR: ${{ github.workspace }}/builddir/ | |
| # Indicates the location of the vcpkg as a Git submodule of the project repository. | |
| FRAMEWORKCI_ROOT_PATH: '${{ github.workspace }}/../../build_base' | |
| VCPKG_ROOT: '${{ github.workspace }}/../../build_base/framework-ci/vcpkg' | |
| VCPKG_BUILD_DIR: '${{ github.workspace }}/../../build_base/framework-ci/vcpkg' | |
| BUILD_COMMANDS_ROOT: '${{ github.workspace }}/../../build_base/framework-ci/_build' | |
| VCPKG_INSTALL_HASH_PACKAGE_NAME: '1.9.1-${{ matrix.package_name }}-${{ matrix.triplet }}' | |
| DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | |
| DOTNET_CLI_TELEMETRY_OPTOUT: true | |
| FRAMEWORKCI_BRANCH: main | |
| steps: | |
| - name: Checkout actions | |
| uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Checkout framework-ci | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ github.repository_owner }}/framework-ci | |
| path: framework-ci | |
| ref: ${{ env.FRAMEWORKCI_BRANCH }} | |
| submodules: true | |
| - name: Move framework-ci | |
| shell: 'bash' | |
| run: | | |
| mkdir -p '${{ env.FRAMEWORKCI_ROOT_PATH }}' | |
| ls -lart '${{ github.workspace }}/framework-ci' | |
| cd '${{ github.workspace }}' && mv framework-ci '${{ env.FRAMEWORKCI_ROOT_PATH }}' | |
| ls -lart '${{ env.FRAMEWORKCI_ROOT_PATH }}' | |
| - name: Setup .Net | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '${{ matrix.dotnet_version }}' | |
| - name: Install mono | |
| shell: 'bash' | |
| # Mono is needed for 'ubuntu-24.04' because it is no longer installed on the runner | |
| # WARNING: The installation has to be done after 'setup-dotnet' | |
| if: ${{ matrix.os == 'ubuntu-24.04' }} | |
| run: | | |
| sudo apt-get install -y mono-devel | |
| - name: Setup environment | |
| shell: 'bash' | |
| run: | | |
| echo "${RUNNER_TEMP}/local_bin_dir/bin" >> $GITHUB_PATH | |
| echo "${RUNNER_TEMP}/local_bin_dir/cmake/bin" >> $GITHUB_PATH | |
| echo Path variable is: ${PATH} | |
| echo CMake path is: `which cmake` | |
| cmake --version | |
| cmake -DNUGET_PASSWORD="${{ secrets.GITHUB_TOKEN }}" -P '${{ env.BUILD_COMMANDS_ROOT }}/Setup.cmake' | |
| mkdir -p ${{ env.CCACHE_DIR }} | |
| cp "${{ github.workspace }}/.github/compile-vcpkg-global.${{ matrix.dotnet_version }}.json" "${{ github.workspace }}/global.json" | |
| - name: Install numpy | |
| shell: 'bash' | |
| run: | | |
| pip3 install numpy | |
| - name: Install pythonnet | |
| shell: 'bash' | |
| run: | | |
| pip3 install pythonnet | |
| pip3 install numpy | |
| - name: Get cache for 'ccache' tool | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{env.CCACHE_DIR}} | |
| key: framework-ccache1-${{matrix.full_name}}-${{ github.run_number }} | |
| restore-keys: | | |
| framework-ccache1-${{matrix.full_name}} | |
| - name: 'Display environment after setup' | |
| shell: 'bash' | |
| continue-on-error: true | |
| run: | | |
| echo 'VCPKG_BUILD_DIR=${VCPKG_BUILD_DIR}' | |
| echo 'Content of local_bin_dir' | |
| ls -lart "${RUNNER_TEMP}/local_bin_dir" | |
| echo 'Content of local_bin_dir/bin' | |
| ls -lart "${RUNNER_TEMP}/local_bin_dir/bin" | |
| echo 'Content of local_bin_dir/cmake' | |
| ls -lart "${RUNNER_TEMP}/local_bin_dir/cmake" | |
| echo Path variable is: ${PATH} | |
| echo CMake path is: `which cmake` | |
| echo Ninja path is: `which ninja` | |
| echo CCache path is: `which ccache` | |
| echo Dotnet path is: `which dotnet` | |
| ccache -z | |
| cmake --version | |
| - name: 'Untar vcpkg bootstrap cache' | |
| shell: 'bash' | |
| run: | | |
| cmake -DHASH_PACKAGE_NAME="${{ env.VCPKG_INSTALL_HASH_PACKAGE_NAME }}" -DVCPKG_BUILD_DIR='${{ env.VCPKG_BUILD_DIR }}' -P '${{ env.BUILD_COMMANDS_ROOT }}/vcpkg_cache/DoUntar.cmake' | |
| ls -lart '${{ env.VCPKG_BUILD_DIR }}' | |
| - name: Show content of workspace after cache has been restored | |
| shell: bash | |
| run: find $RUNNER_WORKSPACE | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Configure build script | |
| shell: bash | |
| run: | | |
| cmake -S "${{ github.workspace }}" -B "${{ env.CMAKE_BUILD_DIR }}" -DCMAKE_VERBOSE_MAKEFILE=TRUE -DVCPKG_INSTALLED_DIR="${{ env.VCPKG_BUILD_DIR }}/installed" -DVCPKG_TARGET_TRIPLET='${{ matrix.triplet }}' -DBUILD_SHARED_LIBS=TRUE -DCMAKE_TOOLCHAIN_FILE="${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" ${{ matrix.cmake_specific_args }} -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" -GNinja -DARCANE_FORCE_NOASNEEDED=TRUE -DCMAKE_INSTALL_PREFIX="${{ env.CMAKE_BUILD_DIR }}/install" | |
| - name: Dump Some Generated files | |
| shell: bash | |
| run: | | |
| echo "Dump CMakeCache.txt" | |
| cat "${{ env.CMAKE_BUILD_DIR }}/CMakeCache.txt" | |
| echo "Dump arcane_core_config.h" | |
| cat "${{ env.CMAKE_BUILD_DIR }}/arcane_core_config.h" | |
| - name: Build arcane | |
| shell: bash | |
| run: | | |
| cmake --build "${{ env.CMAKE_BUILD_DIR }}" | |
| cmake --build "${{ env.CMAKE_BUILD_DIR }}" --target copy_dlls | |
| - name: Print output directory contents | |
| shell: bash | |
| run: | | |
| find "${{ env.CMAKE_BUILD_DIR }}/lib" | |
| - name: Print libraries path | |
| if: matrix.base_os != 'windows' | |
| shell: bash | |
| run: | | |
| ldd "${{ env.CMAKE_BUILD_DIR }}/lib/arcane_tests_exec" | |
| ldd ${{ env.CMAKE_BUILD_DIR }}/lib/lib*.so | |
| readelf -d ${{ env.CMAKE_BUILD_DIR }}/lib/lib*.so | |
| - name: Get 'ccache' status | |
| run: ccache -s -v | |
| - name: Install arcane | |
| shell: bash | |
| run: | | |
| cmake --build "${{ env.CMAKE_BUILD_DIR }}" --target install | |
| - name: Test arcane | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure ${{ matrix.ctest_specific_args }} -E python_test | |
| - name: Test Aleph kappa | |
| if: matrix.base_os != 'windows' | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure ${{ matrix.ctest_specific_args }} -R kappa | |
| # - name: Test Python wrapper | |
| # shell: bash | |
| # run: | | |
| # cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -V -R python_test | |
| - name: Test .Net wrapper | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -R coreclr | |
| - name: Test Convert Mesh | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -R convert_mesh | |
| - name: Test command line replace | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -R replace | |
| - name: Test compare | |
| shell: bash | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -R compare | |
| # Comme ces tests sont un peu long on ne les exécute que sous Windows. | |
| # Pour Linux, ils sont déjà lancés dans des CI dédiés. | |
| - name: Test Checkpoint | |
| shell: bash | |
| if: matrix.full_name == 'windows-2022-cxx20-intelmpi' | |
| run: | | |
| cd "${{ env.CMAKE_BUILD_DIR }}" && ctest --output-on-failure -R checkpoint |