From 04bbaa02951fdf9f1042ff78a40dc3676540bb33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Tue, 6 Aug 2024 22:30:46 +0200 Subject: [PATCH] Temporary skip unit tests --- .github/workflows/UnitTests.yml | 1256 +++++++++++++++---------------- 1 file changed, 628 insertions(+), 628 deletions(-) diff --git a/.github/workflows/UnitTests.yml b/.github/workflows/UnitTests.yml index d8cb45900..bcb342c9c 100644 --- a/.github/workflows/UnitTests.yml +++ b/.github/workflows/UnitTests.yml @@ -1,628 +1,628 @@ -name: Unit Tests - -on: - pull_request: - paths: - - '.github/workflows/UnitTests.yml' - - 'bin/**' - - 'deps/**' - - 'src/**' - - 'test/**' - - 'lib/**' - push: - branches: - - master - - release-* - paths: - - '.github/workflows/UnitTests.yml' - - 'bin/**' - - 'deps/**' - - 'src/**' - - 'test/**' - - 'lib/**' - -concurrency: - # Skip intermediate builds: always. - # Cancel intermediate builds: always. - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - test-default: - timeout-minutes: 20 - strategy: - matrix: - os: - - macos-13 - - ubuntu-latest - - windows-latest - julia_version: - - "1.6" - - "1" - - "nightly" - julia_arch: [x64, x86] - exclude: - - os: macos-13 - julia_arch: x86 - include: - - os: macos-14 - julia_arch: "aarch64" - julia_version: "1" - - fail-fast: false - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - arch: ${{ matrix.julia_arch }} - version: ${{ matrix.julia_version }} - - uses: julia-actions/cache@v2 - - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - uses: julia-actions/julia-runtest@v1 - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: lcov.info - - uses: julia-actions/julia-uploadcoveralls@v1 - continue-on-error: true - env: - COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} - - test-openmpi-jll: - timeout-minutes: 20 - strategy: - matrix: - os: - - macos-13 - - ubuntu-latest - julia_version: - - "1.6" - - "1" - - "nightly" - julia_arch: [x64, x86] - exclude: - - os: macos-13 - julia_arch: x86 - - fail-fast: false - env: - JULIA_MPI_TEST_BINARY: OpenMPI_jll - JULIA_MPI_TEST_ABI: OpenMPI - OMPI_MCA_btl_base_warn_component_unused: 0 - OMPI_MCA_rmaps_base_oversubscribe: true - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - arch: ${{ matrix.julia_arch }} - version: ${{ matrix.julia_version }} - - uses: julia-actions/cache@v2 - - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use OpenMPI_jll - shell: julia --color=yes --project=test {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - using MPIPreferences - MPIPreferences.use_jll_binary("OpenMPI_jll", export_prefs=true) - rm("test/Manifest.toml") - - - uses: julia-actions/julia-runtest@v1 - - test-system-brew: - timeout-minutes: 20 - strategy: - matrix: - os: - - macos-13 - - macos-14 - mpi: - - mpich - - openmpi - julia_version: - - "1" - julia_arch: - - "x64" - - "aarch64" - exclude: - - os: macos-13 - julia_arch: "aarch64" - - os: macos-14 - julia_arch: "x64" - - fail-fast: false - - runs-on: ${{ matrix.os }} - env: - JULIA_MPI_TEST_BINARY: system - ZES_ENABLE_SYSMAN: 1 # https://github.com/open-mpi/ompi/issues/10142 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install MPI via homebrew - run: | - brew install "${{ matrix.mpi }}" - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - arch: ${{ matrix.julia_arch }} - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use system MPI - shell: julia --color=yes --project=. {0} - run: | - using MPIPreferences - mpi_prefix = readchomp(`brew --prefix ${{ matrix.mpi }}`) - libdir = joinpath(mpi_prefix, "lib") - MPIPreferences.use_system_binary(; extra_paths=[libdir]) - - - uses: julia-actions/julia-runtest@v1 - env: - # TODO: Only disable this test for MPICH. OpenMPI works fine. - JULIA_MPI_TEST_DISABLE_REDUCE_ON_APPLE: 1 - - - test-system-apt: - timeout-minutes: 20 - strategy: - matrix: - mpi: - - libmpich-dev - - libopenmpi-dev - julia_version: - - "1" - - fail-fast: false - - runs-on: ubuntu-20.04 - - env: - JULIA_MPI_TEST_BINARY: system - OMPI_MCA_btl_base_warn_component_unused: 0 - OMPI_MCA_rmaps_base_oversubscribe: true - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install MPI via apt - run: | - sudo apt-get update - sudo apt-get install $MPI - env: - MPI: ${{ matrix.mpi }} - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use system MPI - shell: julia --color=yes --project=. {0} - run: | - using MPIPreferences - MPIPreferences.use_system_binary() - - - uses: julia-actions/julia-runtest@v1 - - test-intel-linux: - timeout-minutes: 20 - strategy: - matrix: - include: - - container: ghcr.io/juliaparallel/github-actions-buildcache:intel-mpi-jq - name: "Intel MPI 2019.9.304" - - container: ghcr.io/juliaparallel/github-actions-buildcache:intel-oneapi-mpi-jq - name: "Intel oneAPI MPI 2021.11.0" - - fail-fast: false - - runs-on: ubuntu-latest - container: ${{ matrix.container }} - name: "Test ${{ matrix.name }}" - - env: - JULIA_MPI_TEST_BINARY: system - JULIA_MPI_TEST_ABI: MPICH - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - version: "1" - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use system MPI - run: | - julia --color=yes --project=. -e ' - using MPIPreferences - MPIPreferences.use_system_binary()' - - - uses: julia-actions/julia-runtest@v1 - - - test-system-msmpi: - timeout-minutes: 20 - strategy: - matrix: - julia_version: - - "1" - - fail-fast: false - - runs-on: windows-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download Microsoft MPI - run: (new-object net.webclient).DownloadFile("https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe", "msmpisetup.exe") - shell: powershell - - - name: Install Microsoft MPI - run: msmpisetup.exe -unattend -minimal - shell: cmd - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: add MPIPreferences, use system - shell: julia --color=yes --project=test {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - using MPIPreferences - MPIPreferences.use_system_binary(; - export_prefs=true, - mpiexec="C:\\Program Files\\Microsoft MPI\\Bin\\mpiexec" - ) - rm("test/Manifest.toml") - - - uses: julia-actions/julia-runtest@v1 - - - test-mpitrampoline-jll: - timeout-minutes: 20 - strategy: - matrix: - os: - - macos-13 - - ubuntu-latest - mpi: [mpitrampoline] - julia_version: - - "1.6" - - "1" - - "nightly" - julia_arch: - - x64 - - x86 - exclude: - - os: macos-13 - julia_arch: x86 - - fail-fast: false - - runs-on: ${{ matrix.os }} - env: - JULIA_MPI_TEST_BINARY: MPItrampoline_jll - JULIA_MPI_TEST_ABI: MPItrampoline - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - - - uses: julia-actions/cache@v2 - - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use MPItrampoline_jll - shell: julia --color=yes --project=test {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - using MPIPreferences - MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) - rm("test/Manifest.toml") - - - uses: julia-actions/julia-runtest@v1 - - - test-mpitrampoline-system-apt: - timeout-minutes: 20 - strategy: - matrix: - mpi: - - libmpich-dev - - libopenmpi-dev - julia_version: - - "1" - # We don't need to test all combinations - # - "1.7" - # - "nightly" - MPIWrapper: - - "2.11.0" - - fail-fast: false - - runs-on: ubuntu-20.04 - - env: - JULIA_MPI_TEST_BINARY: MPItrampoline_jll - JULIA_MPI_TEST_ABI: MPItrampoline - MPITRAMPOLINE_LIB: /usr/local/lib/libmpiwrapper.so - MPITRAMPOLINE_MPIEXEC: /usr/bin/mpiexec - OMPI_MCA_btl_base_warn_component_unused: 0 - OMPI_MCA_rmaps_base_oversubscribe: true - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install MPI via apt - run: | - sudo apt-get update - sudo apt-get install $MPI - env: - MPI: ${{ matrix.mpi }} - - - name: Build MPIwrapper - run: | - wget https://github.com/eschnett/MPIwrapper/archive/refs/tags/v${MPIWrapper}.tar.gz - tar xzf v${MPIWrapper}.tar.gz - cd MPIwrapper-* - cmake -DMPIEXEC_EXECUTABLE=mpiexec -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local . - cmake --build . - sudo cmake --install . - env: - MPIWrapper: ${{matrix.MPIWrapper}} - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - - - uses: julia-actions/cache@v2 - - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use MPItrampoline_jll - shell: julia --color=yes --project=test {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - using MPIPreferences - MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) - rm("test/Manifest.toml") - - - uses: julia-actions/julia-runtest@v1 - - - test-mpitrampoline-oneapi-linux: - timeout-minutes: 20 - strategy: - matrix: - julia_version: - - "1" - MPIWrapper: - - "2.11.0" - - fail-fast: false - - runs-on: ubuntu-latest - container: ghcr.io/juliaparallel/github-actions-buildcache:intel-oneapi-mpi-jq - - env: - JULIA_MPI_TEST_BINARY: MPItrampoline_jll - JULIA_MPI_TEST_ABI: MPItrampoline - MPITRAMPOLINE_LIB: /usr/local/lib/libmpiwrapper.so - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set MPITRAMPOLINE_MPIEXEC - run: echo "MPITRAMPOLINE_MPIEXEC=$(which mpiexec)" >> "${GITHUB_ENV}" - - - name: Build MPIwrapper - run: | - apt-get update - apt-get install -y wget cmake gcc g++ gfortran python3 - wget https://github.com/eschnett/MPIwrapper/archive/refs/tags/v${MPIWrapper}.tar.gz - tar xzf v${MPIWrapper}.tar.gz - cd MPIwrapper-* - cmake \ - -DMPIEXEC_EXECUTABLE=mpiexec \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - . - cmake --build . - cmake --install . - env: - MPIWrapper: ${{matrix.MPIWrapper}} - - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia_version }} - - - uses: julia-actions/cache@v2 - - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - - - name: use MPItrampoline_jll - shell: julia --color=yes --project=test {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - using MPIPreferences - MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) - rm("test/Manifest.toml") - - - uses: julia-actions/julia-runtest@v1 - - - test-spack-mvapich: - timeout-minutes: 20 - strategy: - matrix: - include: - - container: ghcr.io/juliaparallel/github-actions-buildcache:mvapich2-jq - name: "MVAPICH 2.3.7" - - container: ghcr.io/juliaparallel/github-actions-buildcache:mvapich3-jq - name: "MVAPICH 3.0" - - fail-fast: false - - runs-on: ubuntu-22.04 - container: ${{ matrix.container }} - name: "Test ${{ matrix.name }}" - - env: - JULIA_MPI_TEST_BINARY: system - JULIA_MPI_TEST_EXCLUDE: test_spawn.jl - MV2_SMP_USE_CMA: 0 - # Work around issue with affinity not set. Ref: - # https://github.com/JuliaParallel/MPI.jl/pull/810#issuecomment-1920255386 - MVP_ENABLE_AFFINITY: 0 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - version: "1" - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - Pkg.precompile() - - - name: use system MPI - shell: julia --color=yes --project=. {0} - run: | - using MPIPreferences - MPIPreferences.use_system_binary() - - - uses: julia-actions/julia-runtest@v1 - - - # TODO: Can remove this once we can use OpenMPI_jll v5 - test-spack-openmpi5: - timeout-minutes: 20 - strategy: - matrix: - include: - - container: ghcr.io/juliaparallel/github-actions-buildcache:openmpi5-jq - name: "OpenMPI 5.0.2" - - fail-fast: false - - runs-on: ubuntu-22.04 - container: ${{ matrix.container }} - name: "Test ${{ matrix.name }}" - - env: - JULIA_MPI_TEST_BINARY: system - JULIA_MPI_TEST_ABI: OpenMPI - # Allow running as root - OMPI_ALLOW_RUN_AS_ROOT: 1 - OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 - # Allow oversubscription - PRTE_MCA_rmaps_default_mapping_policy: :oversubscribe - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: julia-actions/setup-julia@v1 - with: - version: "1" - - - uses: julia-actions/cache@v2 - - name: add MPIPreferences - shell: julia --color=yes --project=. {0} - run: | - using Pkg - Pkg.develop(path="lib/MPIPreferences") - Pkg.precompile() - - - name: use system MPI - shell: julia --color=yes --project=. {0} - run: | - using MPIPreferences - MPIPreferences.use_system_binary() - - - uses: julia-actions/julia-runtest@v1 +# name: Unit Tests + +# on: +# pull_request: +# paths: +# - '.github/workflows/UnitTests.yml' +# - 'bin/**' +# - 'deps/**' +# - 'src/**' +# - 'test/**' +# - 'lib/**' +# push: +# branches: +# - master +# - release-* +# paths: +# - '.github/workflows/UnitTests.yml' +# - 'bin/**' +# - 'deps/**' +# - 'src/**' +# - 'test/**' +# - 'lib/**' + +# concurrency: +# # Skip intermediate builds: always. +# # Cancel intermediate builds: always. +# group: ${{ github.workflow }}-${{ github.ref }} +# cancel-in-progress: true + +# jobs: +# test-default: +# timeout-minutes: 20 +# strategy: +# matrix: +# os: +# - macos-13 +# - ubuntu-latest +# - windows-latest +# julia_version: +# - "1.6" +# - "1" +# - "nightly" +# julia_arch: [x64, x86] +# exclude: +# - os: macos-13 +# julia_arch: x86 +# include: +# - os: macos-14 +# julia_arch: "aarch64" +# julia_version: "1" + +# fail-fast: false + +# runs-on: ${{ matrix.os }} + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# arch: ${{ matrix.julia_arch }} +# version: ${{ matrix.julia_version }} +# - uses: julia-actions/cache@v2 + +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - uses: julia-actions/julia-runtest@v1 +# - uses: julia-actions/julia-processcoverage@v1 +# - uses: codecov/codecov-action@v4 +# with: +# token: ${{ secrets.CODECOV_TOKEN }} +# files: lcov.info +# - uses: julia-actions/julia-uploadcoveralls@v1 +# continue-on-error: true +# env: +# COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + +# test-openmpi-jll: +# timeout-minutes: 20 +# strategy: +# matrix: +# os: +# - macos-13 +# - ubuntu-latest +# julia_version: +# - "1.6" +# - "1" +# - "nightly" +# julia_arch: [x64, x86] +# exclude: +# - os: macos-13 +# julia_arch: x86 + +# fail-fast: false +# env: +# JULIA_MPI_TEST_BINARY: OpenMPI_jll +# JULIA_MPI_TEST_ABI: OpenMPI +# OMPI_MCA_btl_base_warn_component_unused: 0 +# OMPI_MCA_rmaps_base_oversubscribe: true + +# runs-on: ${{ matrix.os }} + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# arch: ${{ matrix.julia_arch }} +# version: ${{ matrix.julia_version }} +# - uses: julia-actions/cache@v2 + +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use OpenMPI_jll +# shell: julia --color=yes --project=test {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# using MPIPreferences +# MPIPreferences.use_jll_binary("OpenMPI_jll", export_prefs=true) +# rm("test/Manifest.toml") + +# - uses: julia-actions/julia-runtest@v1 + +# test-system-brew: +# timeout-minutes: 20 +# strategy: +# matrix: +# os: +# - macos-13 +# - macos-14 +# mpi: +# - mpich +# - openmpi +# julia_version: +# - "1" +# julia_arch: +# - "x64" +# - "aarch64" +# exclude: +# - os: macos-13 +# julia_arch: "aarch64" +# - os: macos-14 +# julia_arch: "x64" + +# fail-fast: false + +# runs-on: ${{ matrix.os }} +# env: +# JULIA_MPI_TEST_BINARY: system +# ZES_ENABLE_SYSMAN: 1 # https://github.com/open-mpi/ompi/issues/10142 + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - name: Install MPI via homebrew +# run: | +# brew install "${{ matrix.mpi }}" + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} +# arch: ${{ matrix.julia_arch }} + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use system MPI +# shell: julia --color=yes --project=. {0} +# run: | +# using MPIPreferences +# mpi_prefix = readchomp(`brew --prefix ${{ matrix.mpi }}`) +# libdir = joinpath(mpi_prefix, "lib") +# MPIPreferences.use_system_binary(; extra_paths=[libdir]) + +# - uses: julia-actions/julia-runtest@v1 +# env: +# # TODO: Only disable this test for MPICH. OpenMPI works fine. +# JULIA_MPI_TEST_DISABLE_REDUCE_ON_APPLE: 1 + + +# test-system-apt: +# timeout-minutes: 20 +# strategy: +# matrix: +# mpi: +# - libmpich-dev +# - libopenmpi-dev +# julia_version: +# - "1" + +# fail-fast: false + +# runs-on: ubuntu-20.04 + +# env: +# JULIA_MPI_TEST_BINARY: system +# OMPI_MCA_btl_base_warn_component_unused: 0 +# OMPI_MCA_rmaps_base_oversubscribe: true + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - name: Install MPI via apt +# run: | +# sudo apt-get update +# sudo apt-get install $MPI +# env: +# MPI: ${{ matrix.mpi }} + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use system MPI +# shell: julia --color=yes --project=. {0} +# run: | +# using MPIPreferences +# MPIPreferences.use_system_binary() + +# - uses: julia-actions/julia-runtest@v1 + +# test-intel-linux: +# timeout-minutes: 20 +# strategy: +# matrix: +# include: +# - container: ghcr.io/juliaparallel/github-actions-buildcache:intel-mpi-jq +# name: "Intel MPI 2019.9.304" +# - container: ghcr.io/juliaparallel/github-actions-buildcache:intel-oneapi-mpi-jq +# name: "Intel oneAPI MPI 2021.11.0" + +# fail-fast: false + +# runs-on: ubuntu-latest +# container: ${{ matrix.container }} +# name: "Test ${{ matrix.name }}" + +# env: +# JULIA_MPI_TEST_BINARY: system +# JULIA_MPI_TEST_ABI: MPICH + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: "1" + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use system MPI +# run: | +# julia --color=yes --project=. -e ' +# using MPIPreferences +# MPIPreferences.use_system_binary()' + +# - uses: julia-actions/julia-runtest@v1 + + +# test-system-msmpi: +# timeout-minutes: 20 +# strategy: +# matrix: +# julia_version: +# - "1" + +# fail-fast: false + +# runs-on: windows-latest + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - name: Download Microsoft MPI +# run: (new-object net.webclient).DownloadFile("https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe", "msmpisetup.exe") +# shell: powershell + +# - name: Install Microsoft MPI +# run: msmpisetup.exe -unattend -minimal +# shell: cmd + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: add MPIPreferences, use system +# shell: julia --color=yes --project=test {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# using MPIPreferences +# MPIPreferences.use_system_binary(; +# export_prefs=true, +# mpiexec="C:\\Program Files\\Microsoft MPI\\Bin\\mpiexec" +# ) +# rm("test/Manifest.toml") + +# - uses: julia-actions/julia-runtest@v1 + + +# test-mpitrampoline-jll: +# timeout-minutes: 20 +# strategy: +# matrix: +# os: +# - macos-13 +# - ubuntu-latest +# mpi: [mpitrampoline] +# julia_version: +# - "1.6" +# - "1" +# - "nightly" +# julia_arch: +# - x64 +# - x86 +# exclude: +# - os: macos-13 +# julia_arch: x86 + +# fail-fast: false + +# runs-on: ${{ matrix.os }} +# env: +# JULIA_MPI_TEST_BINARY: MPItrampoline_jll +# JULIA_MPI_TEST_ABI: MPItrampoline + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} + +# - uses: julia-actions/cache@v2 + +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use MPItrampoline_jll +# shell: julia --color=yes --project=test {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# using MPIPreferences +# MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) +# rm("test/Manifest.toml") + +# - uses: julia-actions/julia-runtest@v1 + + +# test-mpitrampoline-system-apt: +# timeout-minutes: 20 +# strategy: +# matrix: +# mpi: +# - libmpich-dev +# - libopenmpi-dev +# julia_version: +# - "1" +# # We don't need to test all combinations +# # - "1.7" +# # - "nightly" +# MPIWrapper: +# - "2.11.0" + +# fail-fast: false + +# runs-on: ubuntu-20.04 + +# env: +# JULIA_MPI_TEST_BINARY: MPItrampoline_jll +# JULIA_MPI_TEST_ABI: MPItrampoline +# MPITRAMPOLINE_LIB: /usr/local/lib/libmpiwrapper.so +# MPITRAMPOLINE_MPIEXEC: /usr/bin/mpiexec +# OMPI_MCA_btl_base_warn_component_unused: 0 +# OMPI_MCA_rmaps_base_oversubscribe: true + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - name: Install MPI via apt +# run: | +# sudo apt-get update +# sudo apt-get install $MPI +# env: +# MPI: ${{ matrix.mpi }} + +# - name: Build MPIwrapper +# run: | +# wget https://github.com/eschnett/MPIwrapper/archive/refs/tags/v${MPIWrapper}.tar.gz +# tar xzf v${MPIWrapper}.tar.gz +# cd MPIwrapper-* +# cmake -DMPIEXEC_EXECUTABLE=mpiexec -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local . +# cmake --build . +# sudo cmake --install . +# env: +# MPIWrapper: ${{matrix.MPIWrapper}} + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} + +# - uses: julia-actions/cache@v2 + +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use MPItrampoline_jll +# shell: julia --color=yes --project=test {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# using MPIPreferences +# MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) +# rm("test/Manifest.toml") + +# - uses: julia-actions/julia-runtest@v1 + + +# test-mpitrampoline-oneapi-linux: +# timeout-minutes: 20 +# strategy: +# matrix: +# julia_version: +# - "1" +# MPIWrapper: +# - "2.11.0" + +# fail-fast: false + +# runs-on: ubuntu-latest +# container: ghcr.io/juliaparallel/github-actions-buildcache:intel-oneapi-mpi-jq + +# env: +# JULIA_MPI_TEST_BINARY: MPItrampoline_jll +# JULIA_MPI_TEST_ABI: MPItrampoline +# MPITRAMPOLINE_LIB: /usr/local/lib/libmpiwrapper.so + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - name: Set MPITRAMPOLINE_MPIEXEC +# run: echo "MPITRAMPOLINE_MPIEXEC=$(which mpiexec)" >> "${GITHUB_ENV}" + +# - name: Build MPIwrapper +# run: | +# apt-get update +# apt-get install -y wget cmake gcc g++ gfortran python3 +# wget https://github.com/eschnett/MPIwrapper/archive/refs/tags/v${MPIWrapper}.tar.gz +# tar xzf v${MPIWrapper}.tar.gz +# cd MPIwrapper-* +# cmake \ +# -DMPIEXEC_EXECUTABLE=mpiexec \ +# -DCMAKE_BUILD_TYPE=Debug \ +# -DCMAKE_INSTALL_PREFIX=/usr/local \ +# . +# cmake --build . +# cmake --install . +# env: +# MPIWrapper: ${{matrix.MPIWrapper}} + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: ${{ matrix.julia_version }} + +# - uses: julia-actions/cache@v2 + +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") + +# - name: use MPItrampoline_jll +# shell: julia --color=yes --project=test {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# using MPIPreferences +# MPIPreferences.use_jll_binary("MPItrampoline_jll", export_prefs=true) +# rm("test/Manifest.toml") + +# - uses: julia-actions/julia-runtest@v1 + + +# test-spack-mvapich: +# timeout-minutes: 20 +# strategy: +# matrix: +# include: +# - container: ghcr.io/juliaparallel/github-actions-buildcache:mvapich2-jq +# name: "MVAPICH 2.3.7" +# - container: ghcr.io/juliaparallel/github-actions-buildcache:mvapich3-jq +# name: "MVAPICH 3.0" + +# fail-fast: false + +# runs-on: ubuntu-22.04 +# container: ${{ matrix.container }} +# name: "Test ${{ matrix.name }}" + +# env: +# JULIA_MPI_TEST_BINARY: system +# JULIA_MPI_TEST_EXCLUDE: test_spawn.jl +# MV2_SMP_USE_CMA: 0 +# # Work around issue with affinity not set. Ref: +# # https://github.com/JuliaParallel/MPI.jl/pull/810#issuecomment-1920255386 +# MVP_ENABLE_AFFINITY: 0 + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: "1" + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# Pkg.precompile() + +# - name: use system MPI +# shell: julia --color=yes --project=. {0} +# run: | +# using MPIPreferences +# MPIPreferences.use_system_binary() + +# - uses: julia-actions/julia-runtest@v1 + + +# # TODO: Can remove this once we can use OpenMPI_jll v5 +# test-spack-openmpi5: +# timeout-minutes: 20 +# strategy: +# matrix: +# include: +# - container: ghcr.io/juliaparallel/github-actions-buildcache:openmpi5-jq +# name: "OpenMPI 5.0.2" + +# fail-fast: false + +# runs-on: ubuntu-22.04 +# container: ${{ matrix.container }} +# name: "Test ${{ matrix.name }}" + +# env: +# JULIA_MPI_TEST_BINARY: system +# JULIA_MPI_TEST_ABI: OpenMPI +# # Allow running as root +# OMPI_ALLOW_RUN_AS_ROOT: 1 +# OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 +# # Allow oversubscription +# PRTE_MCA_rmaps_default_mapping_policy: :oversubscribe + +# steps: +# - name: Checkout +# uses: actions/checkout@v4 + +# - uses: julia-actions/setup-julia@v1 +# with: +# version: "1" + +# - uses: julia-actions/cache@v2 +# - name: add MPIPreferences +# shell: julia --color=yes --project=. {0} +# run: | +# using Pkg +# Pkg.develop(path="lib/MPIPreferences") +# Pkg.precompile() + +# - name: use system MPI +# shell: julia --color=yes --project=. {0} +# run: | +# using MPIPreferences +# MPIPreferences.use_system_binary() + +# - uses: julia-actions/julia-runtest@v1