Python 3 Intel CPU: script: - export PY_EXE=python3 - source /opt/enable-intel-cl.sh - export PYOPENCL_TEST="intel(r):pu" - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - intel-cl-cpu except: - tags artifacts: reports: junit: test/pytest.xml Python 3 Nvidia Titan X: script: - export PY_EXE=python3 - export PYOPENCL_TEST=nvi:titan - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - nvidia-titan-x except: - tags artifacts: reports: junit: test/pytest.xml Python 3 Nvidia Titan V: script: - export PY_EXE=python3 - export PYOPENCL_TEST=nvi:titan - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - nvidia-titan-v except: - tags artifacts: reports: junit: test/pytest.xml Python 3 Nvidia K40: script: - export PY_EXE=python3 - export PYOPENCL_TEST=nvi:k40 - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - nvidia-k40 except: - tags artifacts: reports: junit: test/pytest.xml Python 3 AMD GPU: allow_failure: true script: - export PY_EXE=python3 - export PYOPENCL_TEST=amd:gfx803 - export EXTRA_INSTALL="pybind11 numpy mako" # https://andreask.cs.illinois.edu/MachineShop/UserNotes - export OCL_ICD_VENDORS=/etc/OpenCLwithAMD/vendors - 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 - amd-fiji except: - tags artifacts: reports: junit: test/pytest.xml Python 3 POCL: script: - export PY_EXE=python3 - export PYOPENCL_TEST=portable:pthread - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - pocl except: - tags artifacts: reports: junit: test/pytest.xml Python 3 POCL CL 1.1: script: - export PY_EXE=python3 - export PYOPENCL_TEST=portable:pthread - export EXTRA_INSTALL="pybind11 numpy mako" - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh - echo "CL_PRETEND_VERSION = '1.1'" > siteconf.py - ". ./build-and-test-py-project.sh" tags: - python3 - pocl except: - tags artifacts: reports: junit: test/pytest.xml Python 3 POCL K40: script: - export PY_EXE=python3 - export PYOPENCL_TEST=portable:k40 - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - pocl - nvidia-k40 except: - tags artifacts: reports: junit: test/pytest.xml Python 3 POCL Titan V: script: - export PY_EXE=python3 - export PYOPENCL_TEST=portable:titan - export EXTRA_INSTALL="pybind11 numpy mako" - 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 - pocl - nvidia-titan-v except: - tags artifacts: reports: junit: test/pytest.xml Python 3 POCL (+GL and special functions): script: - export PY_EXE=python3 - export PYOPENCL_TEST=portable:pthread - export EXTRA_INSTALL="pybind11 numpy mako scipy pyfmmlib" - echo "CL_ENABLE_GL = True" > siteconf.py - 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 - pocl except: - tags artifacts: reports: junit: test/pytest.xml Python 3 Conda Apple: script: | # That's where homebrew lives, and it has the curl that doesn't cause # cert errors from the OS being too old. export PATH="/usr/local/opt/curl/bin:$PATH" CONDA_ENVIRONMENT=.test-conda-env.yml grep -v ocl-icd .test-conda-env-py3.yml > $CONDA_ENVIRONMENT export CC=gcc curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh ./configure.py --cxxflags= --ldflags= --cl-libname=OpenCL . ./build-and-test-py-project-within-miniconda.sh tags: - apple except: - tags artifacts: reports: junit: test/pytest.xml PyPy3 POCL: script: - export PY_EXE=pypy3 - export PYOPENCL_TEST=portable:pthread # On pypy, this seems to install old versions from the package index # independently of whether newer ones are already present. - rm -f pyproject.toml - export EXTRA_INSTALL="pybind11 numpy mako" - export NO_DOCTESTS=1 - 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: - pypy - pocl except: - tags artifacts: reports: junit: test/pytest.xml Pylint: script: - EXTRA_INSTALL="pybind11 numpy mako matplotlib PyOpenGl IPython" - export PY_EXE=python3 # After installation, PyOpenCL cannot be used from the source directory due # to package shadowing. To work around this, build in editable mode so there # is only one copy of everything. - PROJECT_INSTALL_FLAGS="--editable" - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-pylint.sh - . ./prepare-and-run-pylint.sh "$CI_PROJECT_NAME" test/test_*.py tags: - python3 except: - tags Examples: script: | curl -L -O https://tiker.net/ci-support-v0 . ci-support-v0 EXTRA_INSTALL="pillow cgen mako imageio" build_py_project_in_venv (cd examples; rm -f gl_*) run_examples --no-require-main except: - tags tags: - python3 - pocl Documentation: script: - EXTRA_INSTALL="pybind11 numpy mako" - curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-docs.sh - ". ./build-docs.sh" tags: - linux Flake8: script: - 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" test examples tags: - python3 except: - tags Downstream: parallel: matrix: - DOWNSTREAM_PROJECT: [loopy, boxtree, meshmode] tags: - large-node - "docker-runner" script: | curl -L -O https://tiker.net/ci-support-v0 . ./ci-support-v0 TEST_ENV_ROOT="$(pwd)/$DOWNSTREAM_PROJECT/.miniforge3/envs/testing" ./configure.py --cl-inc-dir="$TEST_ENV_ROOT/include" --cl-lib-dir="$TEST_ENV_ROOT/lib" git add -f siteconf.py prepare_downstream_build "https://github.com/inducer/$DOWNSTREAM_PROJECT.git" sed -i 's/pyopencl/ocl-icd/' .test-conda-env-py3.yml build_py_project_in_conda_env test_py_project # vim: sw=2