diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index e61fbc1e56..c4982439fb 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -1,257 +1,238 @@ name: Builds -on: - workflow_run: - workflows: ["Compliance Checks"] - types: - - completed - branches: - - '*' +on: + workflow_call: # push: # branches: # - develop # workflow_dispatch: -# Cancels in-progress workflows for a PR when updated -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - # Please define `build.args.GEOS_TPL_TAG` in `.devcontainer/devcontainer.json` jobs: - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job + # Jobs will be cancelled if PR is a draft. + # PR status must be "Open" to run CI. + get_docker_image_tag: + # if: ${{ always() }} + # needs: [semantic_pull_request] + # Everywhere in this workflow, we use the most recent ubuntu distribution available in Github Actions + # to ensure maximum support of google cloud's sdk. + runs-on: ubuntu-22.04 + outputs: + DOCKER_IMAGE_TAG: ${{ steps.extract_docker_image_tag.outputs.DOCKER_IMAGE_TAG }} steps: - # Runs a single command using the runners shell - - name: Run a one-line script - run: echo Hello, world! - # # Jobs will be cancelled if PR is a draft. - # # PR status must be "Open" to run CI. - # get_docker_image_tag: - # # if: ${{ always() }} - # # needs: [semantic_pull_request] - # # Everywhere in this workflow, we use the most recent ubuntu distribution available in Github Actions - # # to ensure maximum support of google cloud's sdk. - # runs-on: ubuntu-22.04 - # outputs: - # DOCKER_IMAGE_TAG: ${{ steps.extract_docker_image_tag.outputs.DOCKER_IMAGE_TAG }} - # steps: - # # The TPL tag is contained in the codespaces configuration to avoid duplications. - # - name: Checkout .devcontainer/devcontainer.json - # uses: actions/checkout@v4.1.7 - # with: - # sparse-checkout: | - # .devcontainer/devcontainer.json - # sparse-checkout-cone-mode: false - # submodules: false - # lfs: false - # fetch-depth: 1 - # - name: Extract docker image tag - # id: extract_docker_image_tag - # run: | - # echo "DOCKER_IMAGE_TAG=$(jq '.build.args.GEOS_TPL_TAG' -r .devcontainer/devcontainer.json)" >> "$GITHUB_OUTPUT" + # The TPL tag is contained in the codespaces configuration to avoid duplications. + - name: Checkout .devcontainer/devcontainer.json + uses: actions/checkout@v4.1.7 + with: + sparse-checkout: | + .devcontainer/devcontainer.json + sparse-checkout-cone-mode: false + submodules: false + lfs: false + fetch-depth: 1 + - name: Extract docker image tag + id: extract_docker_image_tag + run: | + echo "DOCKER_IMAGE_TAG=$(jq '.build.args.GEOS_TPL_TAG' -r .devcontainer/devcontainer.json)" >> "$GITHUB_OUTPUT" - # # Matrix containing all the CPU build. - # # Those are quite fast and can efficiently benefit from the `sccache' tool to make them even faster. - # cpu_builds: - # name: ${{ matrix.name }} - # # needs: [is_not_draft_pull_request] - # strategy: - # # In-progress jobs will not be cancelled if there is a failure - # fail-fast : false - # matrix: - # include: - # - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 + # Matrix containing all the CPU build. + # Those are quite fast and can efficiently benefit from the `sccache' tool to make them even faster. + cpu_builds: + name: ${{ matrix.name }} + # needs: [is_not_draft_pull_request] + strategy: + # In-progress jobs will not be cancelled if there is a failure + fail-fast : false + matrix: + include: + - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 - # - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces - # CMAKE_BUILD_TYPE: Debug - # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 + - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces + CMAKE_BUILD_TYPE: Debug + DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 - # - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 + - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 - # - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # GCP_BUCKET: geosx/ubuntu22.04-gcc11 + - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + GCP_BUCKET: geosx/ubuntu22.04-gcc11 - # - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF + - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF - # - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF + - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF - # - name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # GCP_BUCKET: geosx/Sherlock-CPU - # HOST_CONFIG: host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake + - name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + GCP_BUCKET: geosx/Sherlock-CPU + HOST_CONFIG: host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake - # uses: ./.github/workflows/build_and_test.yml - # with: - # CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }} - # DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} - # DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} - # ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }} - # ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }} - # GCP_BUCKET: ${{ matrix.GCP_BUCKET }} - # HOST_CONFIG: ${{ matrix.HOST_CONFIG }} - # RUNS_ON: ubuntu-22.04 - # secrets: inherit + uses: ./.github/workflows/build_and_test.yml + with: + CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }} + DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} + DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} + ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }} + ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }} + GCP_BUCKET: ${{ matrix.GCP_BUCKET }} + HOST_CONFIG: ${{ matrix.HOST_CONFIG }} + RUNS_ON: ubuntu-22.04 + secrets: inherit - # # If the 'ci: run integrated tests' PR label is found, the integrated tests will be run immediately after the cpu jobs. - # # Note: The integrated tests are optional and are (for the moment) run for convenience only. - # run_integrated_tests: - # needs: - # # - is_not_draft_pull_request - # - cpu_builds - # uses: ./.github/workflows/build_and_test.yml - # secrets: inherit - # with: - # BUILD_AND_TEST_CLI_ARGS: --build-exe-only - # BUILD_TYPE: integrated_tests - # CMAKE_BUILD_TYPE: Release - # DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} - # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # GCP_BUCKET: geosx/integratedTests - # RUNS_ON: streak2-32core - # NPROC: 32 - # DOCKER_RUN_ARGS: "--cpus=32 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - # DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - # REQUIRED_LABEL: "ci: run integrated tests" - # LOCAL_BASELINE_DIR: /data/GEOS/baselines + # If the 'ci: run integrated tests' PR label is found, the integrated tests will be run immediately after the cpu jobs. + # Note: The integrated tests are optional and are (for the moment) run for convenience only. + run_integrated_tests: + needs: + # - is_not_draft_pull_request + - cpu_builds + uses: ./.github/workflows/build_and_test.yml + secrets: inherit + with: + BUILD_AND_TEST_CLI_ARGS: --build-exe-only + BUILD_TYPE: integrated_tests + CMAKE_BUILD_TYPE: Release + DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} + DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + GCP_BUCKET: geosx/integratedTests + RUNS_ON: streak2-32core + NPROC: 32 + DOCKER_RUN_ARGS: "--cpus=32 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + REQUIRED_LABEL: "ci: run integrated tests" + LOCAL_BASELINE_DIR: /data/GEOS/baselines - # baseline_log: - # # needs: [is_not_draft_pull_request] - # runs-on: ubuntu-22.04 - # steps: - # - name: Checkout Repository - # uses: actions/checkout@v4.1.7 - # with: - # submodules: false - # lfs: false - # fetch-depth: 0 - # sparse-checkout: | - # scripts - # - name: Check that the baseline logs are modified if rebaselines are detected - # run: "scripts/check_baseline_log.sh" + baseline_log: + # needs: [is_not_draft_pull_request] + runs-on: ubuntu-22.04 + steps: + - name: Checkout Repository + uses: actions/checkout@v4.1.7 + with: + submodules: false + lfs: false + fetch-depth: 0 + sparse-checkout: | + scripts + - name: Check that the baseline logs are modified if rebaselines are detected + run: "scripts/check_baseline_log.sh" - # # If the 'ci: run CUDA builds' PR label is found, the cuda jobs run immediately along side linux jobs. - # # Note: CUDA jobs should only be run if PR is ready to merge. - # cuda_builds: - # name: ${{ matrix.name }} - # # needs: - # # - is_not_draft_pull_request - # strategy: - # # In-progress jobs will not be cancelled if there is a failure - # fail-fast : false - # matrix: - # include: - # - name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) - # BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" - # CMAKE_BUILD_TYPE: Debug - # DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 - # ENABLE_HYPRE_DEVICE: CUDA - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # RUNS_ON: streak2 - # NPROC: 8 - # DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - # DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + # If the 'ci: run CUDA builds' PR label is found, the cuda jobs run immediately along side linux jobs. + # Note: CUDA jobs should only be run if PR is ready to merge. + cuda_builds: + name: ${{ matrix.name }} + # needs: + # - is_not_draft_pull_request + strategy: + # In-progress jobs will not be cancelled if there is a failure + fail-fast : false + matrix: + include: + - name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) + BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" + CMAKE_BUILD_TYPE: Debug + DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 + ENABLE_HYPRE_DEVICE: CUDA + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + RUNS_ON: streak2 + NPROC: 8 + DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - # - name: Ubuntu CUDA (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) - # BUILD_AND_TEST_CLI_ARGS: "--no-install-schema" - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 - # ENABLE_HYPRE_DEVICE: CUDA - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # RUNS_ON: streak - # NPROC: 8 - # DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - # DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + - name: Ubuntu CUDA (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) + BUILD_AND_TEST_CLI_ARGS: "--no-install-schema" + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 + ENABLE_HYPRE_DEVICE: CUDA + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + RUNS_ON: streak + NPROC: 8 + DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - # # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX - # # - name: Rockylinux (8, clang 17.0.6, cuda 12.5) - # # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" - # # CMAKE_BUILD_TYPE: Release - # # DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.5 - # # RUNS_ON: streak2 - # # NPROC: 2 - # # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - # # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - # # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX + # - name: Rockylinux (8, clang 17.0.6, cuda 12.5) + # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.5 + # RUNS_ON: streak2 + # NPROC: 2 + # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - # # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX - # # - name: Rockylinux (8, gcc 8.5, cuda 12.5) - # # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" - # # CMAKE_BUILD_TYPE: Release - # # DOCKER_REPOSITORY: geosx/rockylinux8-gcc8-cuda12.5 - # # RUNS_ON: streak2 - # # NPROC: 2 - # # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - # # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - # # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX + # - name: Rockylinux (8, gcc 8.5, cuda 12.5) + # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/rockylinux8-gcc8-cuda12.5 + # RUNS_ON: streak2 + # NPROC: 2 + # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - # # Below this line, jobs that deploy to Google Cloud. - # - name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, cuda 11.7.1,) - # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda11.7.1-openblas0.3.10-zlib1.2.11 - # ENABLE_HYPRE_DEVICE: CUDA - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # GCP_BUCKET: geosx/Sherlock-GPU - # HOST_CONFIG: host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10-cuda11.7.1-sm70.cmake - # RUNS_ON: streak2 - # NPROC: 8 - # DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # Below this line, jobs that deploy to Google Cloud. + - name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, cuda 11.7.1,) + BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" + CMAKE_BUILD_TYPE: Release + DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda11.7.1-openblas0.3.10-zlib1.2.11 + ENABLE_HYPRE_DEVICE: CUDA + ENABLE_HYPRE: ON + ENABLE_TRILINOS: OFF + GCP_BUCKET: geosx/Sherlock-GPU + HOST_CONFIG: host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10-cuda11.7.1-sm70.cmake + RUNS_ON: streak2 + NPROC: 8 + DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - # uses: ./.github/workflows/build_and_test.yml - # with: - # BUILD_AND_TEST_CLI_ARGS: ${{ matrix.BUILD_AND_TEST_CLI_ARGS }} - # CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }} - # DOCKER_CERTS_DIR: ${{ matrix.DOCKER_CERTS_DIR }} - # DOCKER_CERTS_UPDATE_COMMAND: ${{ matrix.DOCKER_CERTS_UPDATE_COMMAND }} - # DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} - # DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} - # DOCKER_RUN_ARGS: ${{ matrix.DOCKER_RUN_ARGS }} - # ENABLE_HYPRE_DEVICE: ${{ matrix.ENABLE_HYPRE_DEVICE }} - # ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }} - # ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }} - # GCP_BUCKET: ${{ matrix.GCP_BUCKET }} - # HOST_CONFIG: ${{ matrix.HOST_CONFIG }} - # NPROC: ${{ matrix.NPROC }} - # RUNS_ON: ${{ matrix.RUNS_ON }} - # REQUIRED_LABEL: "ci: run CUDA builds" - # secrets: inherit + uses: ./.github/workflows/build_and_test.yml + with: + BUILD_AND_TEST_CLI_ARGS: ${{ matrix.BUILD_AND_TEST_CLI_ARGS }} + CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }} + DOCKER_CERTS_DIR: ${{ matrix.DOCKER_CERTS_DIR }} + DOCKER_CERTS_UPDATE_COMMAND: ${{ matrix.DOCKER_CERTS_UPDATE_COMMAND }} + DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }} + DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }} + DOCKER_RUN_ARGS: ${{ matrix.DOCKER_RUN_ARGS }} + ENABLE_HYPRE_DEVICE: ${{ matrix.ENABLE_HYPRE_DEVICE }} + ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }} + ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }} + GCP_BUCKET: ${{ matrix.GCP_BUCKET }} + HOST_CONFIG: ${{ matrix.HOST_CONFIG }} + NPROC: ${{ matrix.NPROC }} + RUNS_ON: ${{ matrix.RUNS_ON }} + REQUIRED_LABEL: "ci: run CUDA builds" + secrets: inherit # Convenience job - passes when all other jobs have passed (must pass the CUDA jobs). # check_that_all_jobs_succeeded: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 495759a519..136d7101a4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -17,6 +17,7 @@ jobs: secrets: inherit run_builds: + if: needs: - run_compliance_checks name: Build step