add adios2. hypredrive on by default. #1028
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: Docker Build TPLs | |
| on: pull_request | |
| # Cancels in-progress workflows for a PR when updated | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| # TPL images build on top of the base images produced by | |
| # https://github.com/GEOS-DEV/docker_base_images. | |
| env: | |
| DOCKER_BASE_IMAGE_SHA: 1c3c049b3f629d9d44838656fd306b2a0c04c9e8 | |
| jobs: | |
| build_images: | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.RUNS_ON }} | |
| strategy: | |
| # In-progress jobs will not be cancelled if there is a failure | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Minimal restart slice: only known-good Ubuntu host builds. | |
| - name: Ubuntu 24.04 - gcc 12 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-gcc12 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-gcc12 | |
| GCC_VERSION: 12 | |
| SPEC: "~pygeosx ~docs %gcc-12" | |
| - name: Ubuntu 24.04 - gcc 13 (docs) | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-gcc13 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-gcc13 | |
| GCC_VERSION: 13 | |
| SPEC: "~pygeosx +docs %gcc-13" | |
| - name: Ubuntu 24.04 - clang 19 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-clang19 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-clang19 | |
| CLANG_VERSION: 19 | |
| SPEC: "~pygeosx ~docs %clang-19" | |
| - name: Ubuntu 24.04 - clang 20 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-clang20 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-clang20 | |
| CLANG_VERSION: 20 | |
| SPEC: "~pygeosx ~docs %clang-20" | |
| # First Rocky non-CUDA row re-enabled for incremental validation. | |
| - name: Rocky Linux 8 - gcc 12 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 8-gcc12 | |
| DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| DOCKER_REPOSITORY: geosx/rockylinux8-gcc12 | |
| SPEC: "~pygeosx ~docs %gcc-12" | |
| - name: Rocky Linux 8 - gcc 13 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 8-gcc13 | |
| DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| DOCKER_REPOSITORY: geosx/rockylinux8-gcc13 | |
| SPEC: "~pygeosx ~docs %gcc-13" | |
| - name: Rocky Linux 8 - clang 19 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 8-clang19 | |
| DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| DOCKER_REPOSITORY: geosx/rockylinux8-clang19 | |
| SPEC: "~pygeosx ~docs %clang-19" | |
| - name: Rocky Linux 9 - clang 22 | |
| RUNS_ON: ubuntu-latest | |
| TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 9-clang22 | |
| DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| DOCKER_REPOSITORY: geosx/rockylinux9-clang22 | |
| SPEC: "~pygeosx ~docs %clang-22" | |
| # CUDA restart slice. | |
| - name: Ubuntu 24.04 - gcc 13 + CUDA 12.9.1 | |
| RUNS_ON: streak2 | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-gcc13-cuda12.9.1 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-gcc13-cuda12.9.1 | |
| GCC_VERSION: 13 | |
| SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %gcc-13 ^cuda@12.9.1+allow-unsupported-compilers" | |
| # CUDA 13 is blocked by the pinned RAJA package: | |
| # raja: '^cuda@13:' conflicts with '+cuda' | |
| # - name: Ubuntu 24.04 - gcc 14 + CUDA 13.2.1 | |
| # RUNS_ON: streak2 | |
| # TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| # DOCKER_BASE_IMAGE_TAG: 24.04-gcc14-cuda13.2.1 | |
| # DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| # DOCKER_REPOSITORY: geosx/ubuntu24.04-gcc14-cuda13.2.1 | |
| # GCC_VERSION: 14 | |
| # SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %gcc-14 ^cuda@13.2.1+allow-unsupported-compilers" | |
| - name: Ubuntu 24.04 - clang 19 + CUDA 12.9.1 | |
| RUNS_ON: streak2 | |
| TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 24.04-clang19-cuda12.9.1 | |
| DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| DOCKER_REPOSITORY: geosx/ubuntu24.04-clang19-cuda12.9.1 | |
| CLANG_VERSION: 19 | |
| SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %clang-19 ^cuda@12.9.1+allow-unsupported-compilers" | |
| # - name: Ubuntu 24.04 - clang 20 + CUDA 13.2.1 | |
| # RUNS_ON: streak2 | |
| # TPL_DOCKERFILE: docker/tpl-ubuntu.Dockerfile | |
| # DOCKER_BASE_IMAGE_TAG: 24.04-clang20-cuda13.2.1 | |
| # DOCKER_BASE_IMAGE_REPO: geosx/ubuntu | |
| # DOCKER_REPOSITORY: geosx/ubuntu24.04-clang20-cuda13.2.1 | |
| # CLANG_VERSION: 20 | |
| # SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %clang-20 ^cuda@13.2.1+allow-unsupported-compilers" | |
| - name: Rocky Linux 8 - gcc 13 + CUDA 12.9.1 | |
| RUNS_ON: streak2 | |
| TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| DOCKER_BASE_IMAGE_TAG: 8-gcc13-cuda12.9.1 | |
| DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 | |
| SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %gcc-13 ^cuda@12.9.1+allow-unsupported-compilers" | |
| # Rocky8 clang19 CUDA 12.9.1 is blocked by SuperLU_DIST using | |
| # C++11 with CUDA 12.9 + clang19 + GCC 14 libstdc++. | |
| # - name: Rocky Linux 8 - clang 19 + CUDA 12.9.1 | |
| # RUNS_ON: streak2 | |
| # TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| # DOCKER_BASE_IMAGE_TAG: 8-clang19-cuda12.9.1 | |
| # DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| # DOCKER_REPOSITORY: geosx/rockylinux8-clang19-cuda12.9.1 | |
| # SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %clang-19 ^cuda@12.9.1+allow-unsupported-compilers" | |
| # - name: Rocky Linux 9 - gcc 15 + CUDA 13.2.1 | |
| # RUNS_ON: streak2 | |
| # TPL_DOCKERFILE: docker/tpl-rockylinux.Dockerfile | |
| # DOCKER_BASE_IMAGE_TAG: 9-gcc15-cuda13.2.1 | |
| # DOCKER_BASE_IMAGE_REPO: geosx/rockylinux | |
| # DOCKER_REPOSITORY: geosx/rockylinux9-gcc15-cuda13.2.1 | |
| # SPEC: "+cuda cuda_arch=86,120 ~openmp ~pygeosx ~docs %gcc-15 ^cuda@13.2.1+allow-unsupported-compilers" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| lfs: true | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Print environment | |
| run: printenv | |
| - name: Compose DOCKER_BASE_IMAGE | |
| id: base | |
| run: | | |
| echo "DOCKER_BASE_IMAGE=${{ matrix.DOCKER_BASE_IMAGE_REPO }}:${{ matrix.DOCKER_BASE_IMAGE_TAG }}-${DOCKER_BASE_IMAGE_SHA}" >> "$GITHUB_OUTPUT" | |
| - name: Inject CA certificate into Docker build | |
| if: matrix.RUNS_ON == 'streak2' | |
| run: | | |
| cp /etc/pki/tls/certs/ca-bundle.crt ./ca-bundle.crt | |
| sed -i '/RUN dnf clean all/i COPY ca-bundle.crt /etc/pki/ca-trust/source/anchors/ca-bundle.crt\nRUN update-ca-trust extract' ${{ matrix.TPL_DOCKERFILE }} | |
| - name: Run the docker build docker script | |
| env: | |
| TPL_DOCKERFILE: ${{ matrix.TPL_DOCKERFILE }} | |
| DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} | |
| DOCKER_BASE_IMAGE: ${{ steps.base.outputs.DOCKER_BASE_IMAGE }} | |
| GCC_VERSION: ${{ matrix.GCC_VERSION }} | |
| CLANG_VERSION: ${{ matrix.CLANG_VERSION }} | |
| INSTALL_DIR_ROOT: ${{ matrix.INSTALL_DIR_ROOT || '/opt/GEOS' }} | |
| HOST_CONFIG: ${{ matrix.HOST_CONFIG || 'host-configs/environment.cmake' }} | |
| SPEC: ${{ matrix.SPEC || 'undefined' }} | |
| COMMIT: ${{ github.sha }} | |
| BUILD_DIR: ${{ github.workspace }} | |
| DOCKER_TAG: ${{ github.event.number }}-${{ github.run_number }} | |
| run: bash -x ./scripts/docker-build.sh | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| logout: ${{ matrix.RUNS_ON != 'streak2' }} | |
| - name: Push docker image | |
| env: | |
| DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} | |
| DOCKER_TAG: ${{ github.event.number }}-${{ github.run_number }} | |
| run: docker push ${DOCKER_REPOSITORY}:${DOCKER_TAG} | |
| # Convenience job - passes when all docker images are built. | |
| check_that_all_images_built: | |
| runs-on: ubuntu-22.04 | |
| needs: [build_images] | |
| steps: | |
| - name: Success | |
| run: "true" |