Move component arcane_accelerator_core from Arcane to Arccore
#596
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
| name: IFPEN el9 foss/2021b C++20 | |
| on: | |
| push: | |
| branches: [ main, dev/cea, dev/ifpen, dev/ci_ifpen ] | |
| pull_request: | |
| branches: [ main, dev/cea, dev/ifpen, dev/ci_ifpen ] | |
| workflow_dispatch: | |
| inputs: | |
| ctest_options: | |
| description: 'CTest options' | |
| required: false | |
| default: '' | |
| env: | |
| # Framework directories | |
| BUILD_DIR: /__w/framework/framework/build | |
| INSTALL_DIR: /__w/framework/framework/install | |
| SOURCE_DIR: /__w/framework/framework/source | |
| EXT_LIB_SUBDIR: extlib # /__w/framework/framework/build/dependencies | |
| # ccache | |
| CCACHE_COMPRESS: true | |
| CCACHE_COMPRESSLEVEL: 6 | |
| CCACHE_DIR: '/__w/framework/framework/ccache' | |
| CCACHE_MAXSIZE: 5G | |
| # CMake | |
| CM_BUILD_OPTS: "-j4" | |
| CM_BUILD_TYPE: Release | |
| CM_CCACHE_OPTS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache" | |
| # CTest | |
| CT_OPTS: "--parallel 4 --timeout 60 --output-on-failure ${{ github.event.inputs.ctest_options }}" | |
| # OpenMPI | |
| OMPI_MCA_rmaps_base_oversubscribe : true | |
| # To remove test output directory to reduce disk usage | |
| ARCANE_TEST_CLEANUP_AFTER_RUN : 1 | |
| jobs: | |
| build: | |
| name: build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 120 | |
| container: | |
| image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2021b:el9 | |
| #options: --user root # Avoid to match github UID in container. | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| # ccache | |
| - name: Get date | |
| id: get-date | |
| shell: bash | |
| run: echo "NOW=$(/bin/date -u '+%Y%m%d%H%M%S')" >> $GITHUB_ENV | |
| - name: Restore cache | |
| id: restore-cache | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: ${{ env.CCACHE_DIR }} | |
| key: ifpen-el9-foss-2021b-${{ env.CM_BUILD_TYPE }}-${{ env.NOW }}-${{ github.run_number }} | |
| restore-keys: ifpen-el9-foss-2021b-${{ env.CM_BUILD_TYPE }}- | |
| # Installation | |
| - name: Checkout | |
| id: checkout | |
| if: | | |
| (success() || failure()) | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.SOURCE_DIR }} | |
| submodules: true | |
| - name: Modules information | |
| id: modules_information | |
| if: | | |
| (success() || failure()) && | |
| steps.checkout.outcome == 'success' | |
| shell: bash | |
| run: module --terse list 2>&1 | sort | |
| - name: Configure | |
| id: configure | |
| if: | | |
| (success() || failure()) && | |
| steps.checkout.outcome == 'success' | |
| shell: bash | |
| run: cmake -S ${{ env.SOURCE_DIR }} -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} ${{ env.CM_CCACHE_OPTS }} -DCMAKE_BUILD_TYPE=${{ env.CM_BUILD_TYPE }} -DARCCORE_BUILD_MODE=Check -DREMOVE_UID_ON_DETACH=ON -DUSE_GTEST_DEATH_TEST=ON -DCMAKE_DISABLE_FIND_PACKAGE_Papi=ON -DALIEN_BUILD_COMPONENT=all -DALIEN_PLUGIN_HYPRE=ON -DALIEN_PLUGIN_PETSC=ON -DUSE_GRAPH_CONNECTIVITY_POLICY=ON -DARCANE_DISABLE_PERFCOUNTER_TESTS=ON -DARCCORE_CXX_STANDARD=20 | |
| - name: Build | |
| id: build | |
| if: | | |
| (success() || failure()) && | |
| steps.configure.outcome == 'success' | |
| shell: bash | |
| run: cmake --build ${{ env.BUILD_DIR }} ${{ env.CM_BUILD_OPTS }} | |
| - name: Clean | |
| id: clean | |
| if: | | |
| (success() || failure()) && | |
| steps.build.outcome == 'success' | |
| shell: bash | |
| run: find ${{ env.BUILD_DIR }} -type f -name '*.o' -exec rm -f '{}' \; | |
| - name: Install | |
| id: install | |
| if: | | |
| (success() || failure()) && | |
| steps.build.outcome == 'success' | |
| shell: bash | |
| run: cmake --install ${{ env.BUILD_DIR }} | |
| - name: Copy external libraries | |
| id: copy-external-libraries | |
| if: | | |
| (success() || failure()) && | |
| steps.install.outcome == 'success' | |
| shell: bash | |
| run: | | |
| cd ${{ env.BUILD_DIR }} | |
| echo '--' | |
| cat /scripts/copyextlib_github.sh | |
| echo '--' | |
| bash /scripts/copyextlib_github.sh | |
| - name: Tar build artifact | |
| shell: bash | |
| run: tar czf build-artifact.tar.gz ${{ env.BUILD_DIR }} | |
| - name: Upload build artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-artifact | |
| path: build-artifact.tar.gz | |
| retention-days: 1 | |
| - name: Save cache | |
| id: save-cache | |
| if: | | |
| (success() || failure()) && | |
| steps.build.outcome == 'success' | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: ${{ env.CCACHE_DIR }} | |
| key: ${{ steps.restore-cache.outputs.cache-primary-key }} | |
| test: | |
| name: test | |
| needs: | |
| - build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 120 | |
| container: | |
| image: ghcr.io/arcaneframework/arcane-ifpen-devenv-foss-2021b-rt:el9 | |
| #options: --user root # Avoid to match github UID in container. | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - name: Checkout | |
| id: checkout | |
| if: | | |
| (success() || failure()) | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.SOURCE_DIR }} | |
| submodules: true | |
| - name: Download build artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-artifact | |
| - name: Untar build artifact | |
| shell: bash | |
| run: tar xf build-artifact.tar.gz -C / | |
| - name: Remove build artifact tar | |
| shell: bash | |
| run: rm -f build-artifact.tar.gz | |
| - name: Test | |
| id: test | |
| shell: bash | |
| run: env LD_LIBRARY_PATH=${{ env.BUILD_DIR }}/${{ env.EXT_LIB_SUBDIR }}:${LD_LIBRARY_PATH} ctest --test-dir ${{ env.BUILD_DIR }} ${{ env.CT_OPTS }} -E '(RedistributorAlgebra|CompositeSpace)' | |
| - name: Upload test artifact | |
| id: upload-test-artifact | |
| uses: actions/upload-artifact@v4 | |
| if: | | |
| (success() || failure()) && | |
| steps.test.outcome == 'failure' | |
| with: | |
| name: test-artifact | |
| path: ${{ env.BUILD_DIR }}/Testing | |
| retention-days: 1 |