From 27d624ae7702a0e9b23abdf0f36ca1875320c6b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Kl=C3=B6ckner?= <inform@tiker.net>
Date: Fri, 4 Jun 2021 16:57:36 -0500
Subject: [PATCH] Github CI: Use OpenMPI from Conda (#118)

* Use mpi4py from conda for tests

* Drop "insecure" flag from curl in Github CI

* Drop "insecure" flag from curl in Gitlab CI
---
 .github/workflows/ci.yml | 36 ++++++++++--------------------------
 .gitlab-ci.yml           | 18 +++++++++---------
 .test-conda-env-py3.yml  |  1 +
 3 files changed, 20 insertions(+), 35 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ccc7e596..55ee6c05 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -20,7 +20,7 @@ jobs:
                 python-version: '3.6'
         -   name: "Main Script"
             run: |
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-flake8.sh
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-flake8.sh
                 . ./prepare-and-run-flake8.sh "$(basename $GITHUB_REPOSITORY)" examples test
 
     pylint:
@@ -30,19 +30,14 @@ jobs:
         -   uses: actions/checkout@v2
         -   name: "Main Script"
             run: |
-                sudo apt update
-                sudo apt install openmpi-bin libopenmpi-dev
-
-                CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-                echo "- matplotlib" >> $CONDA_ENVIRONMENT
-                echo "- mpi4py" >> $CONDA_ENVIRONMENT
-                echo "- scipy" >> $CONDA_ENVIRONMENT
+                echo "- matplotlib" >> .test-conda-env-py3.yml
+                echo "- scipy" >> .test-conda-env-py3.yml
                 echo "-------------------------------------------"
                 cat $CONDA_ENVIRONMENT
                 echo "-------------------------------------------"
                 USE_CONDA_BUILD=1
 
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh
 
                 . ./prepare-and-run-pylint.sh "$(basename $GITHUB_REPOSITORY)" test/*.py \
                     $(find examples -name '*.py')
@@ -54,10 +49,7 @@ jobs:
         -   uses: actions/checkout@v2
         -   name: "Main Script"
             run: |
-                sudo apt-get update
-                sudo apt-get install openmpi-bin libopenmpi-dev
-                CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh
                 . ./build-and-test-py-project-within-miniconda.sh
 
     pyexamples3:
@@ -67,10 +59,7 @@ jobs:
         -   uses: actions/checkout@v2
         -   name: "Main Script"
             run: |
-                sudo apt-get update
-                sudo apt-get install openmpi-bin libopenmpi-dev
-                CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
                 . ci-support.sh
                 build_py_project_in_conda_env
                 run_examples
@@ -82,10 +71,7 @@ jobs:
         -   uses: actions/checkout@v2
         -   name: "Main Script"
             run: |
-                sudo apt-get update
-                sudo apt-get install openmpi-bin libopenmpi-dev
-                CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
                 . ci-support.sh
                 build_py_project_in_conda_env
                 build_docs
@@ -117,16 +103,14 @@ jobs:
                     sudo apt-get update
                     sudo apt-get install openmpi-bin libopenmpi-dev
                     export CONDA_ENVIRONMENT=conda-env.yml
+                    export CISUPPORT_PARALLEL_PYTEST=no
                 else
                     sed -i "/mpi4py/ d" requirements.txt
-                    export CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-
                 fi
-                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/ci-support.sh
+
+                curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/master/ci-support.sh
                 . ./ci-support.sh
                 build_py_project_in_conda_env
-
-                export CISUPPORT_PARALLEL_PYTEST=no
                 test_py_project
 
 # vim: sw=4
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a0f26529..2bd1a243 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,7 @@ Python 3 POCL:
   - export PY_EXE=python3
   - export PYOPENCL_TEST=portable:pthread
   - export EXTRA_INSTALL="pybind11 numpy mako"
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
   - ". ./build-and-test-py-project.sh"
   tags:
   - python3
@@ -21,7 +21,7 @@ Python 3 Intel:
   - export EXTRA_INSTALL="pybind11 numpy mako"
   - source /opt/enable-intel-cl.sh
   - export PYOPENCL_TEST="intel(r):pu"
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
   - ". ./build-and-test-py-project.sh"
   tags:
   - python3
@@ -38,7 +38,7 @@ Python 3 POCL Examples:
   - export PY_EXE=python3
   - export PYOPENCL_TEST=portable:pthread
   - export EXTRA_INSTALL="pybind11 numpy mako mpi4py pyvisfile pymetis"
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
   - ". ./build-py-project-and-run-examples.sh"
   tags:
   - python3
@@ -53,7 +53,7 @@ Python 3 Intel Examples:
   - source /opt/enable-intel-cl.sh
   - export PYOPENCL_TEST="intel(r):pu"
   - export EXTRA_INSTALL="pybind11 numpy mako mpi4py pyvisfile pymetis"
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
   - ". ./build-py-project-and-run-examples.sh"
   tags:
   - python3
@@ -68,7 +68,7 @@ Python 3 Conda:
   - large-node
   script: |
     CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-    curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh
+    curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh
 
     # Shut up ibverbs about fork(), e.g. https://gitlab.tiker.net/inducer/grudge/-/jobs/220796
     export RDMAV_FORK_SAFE=1
@@ -81,7 +81,7 @@ Python 3 Conda Examples:
   - large-node
   script: |
     CONDA_ENVIRONMENT=.test-conda-env-py3.yml
-    curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
+    curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
     . ci-support.sh
     build_py_project_in_conda_env
 
@@ -93,14 +93,14 @@ Python 3 Conda Examples:
 Documentation:
   script:
   - EXTRA_INSTALL="pybind11 numpy"
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-docs.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-docs.sh
   - ". ./build-docs.sh"
   tags:
   - python3
 
 Flake8:
   script:
-  - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-flake8.sh
+  - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-flake8.sh
   - . ./prepare-and-run-flake8.sh "$CI_PROJECT_NAME" examples test
   tags:
   - python3
@@ -110,7 +110,7 @@ Flake8:
 Pylint:
   script: |
     EXTRA_INSTALL="pybind11 make numpy scipy matplotlib mpi4py"
-    curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh
+    curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh
     . ./prepare-and-run-pylint.sh "$CI_PROJECT_NAME" test/*.py \
         $(find examples -name '*.py')
   tags:
diff --git a/.test-conda-env-py3.yml b/.test-conda-env-py3.yml
index 08b93b01..e100bf36 100644
--- a/.test-conda-env-py3.yml
+++ b/.test-conda-env-py3.yml
@@ -11,3 +11,4 @@ dependencies:
 - pyopencl
 - python=3
 - gmsh
+- mpi4py
-- 
GitLab