name: CI on: push: branches: - main tags: - v* pull_request: schedule: - cron: '17 3 * * 0' jobs: flake8: name: Flake8 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: # matches compat target in setup.py python-version: '3.6' - name: "Main Script" run: | 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)" ./test examples pylint: name: Pylint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: "Main Script" run: | CONDA_ENVIRONMENT=.test-conda-env-py3.yml echo "- matplotlib" >> $CONDA_ENVIRONMENT echo "- pyopengl" >> $CONDA_ENVIRONMENT echo "- ipython" >> $CONDA_ENVIRONMENT echo "-------------------------------------------" cat $CONDA_ENVIRONMENT echo "-------------------------------------------" USE_CONDA_BUILD=1 curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-pylint.sh # Pylint won't find the Cython bits without this PROJECT_INSTALL_FLAGS="--editable" . ./prepare-and-run-pylint.sh "$(basename $GITHUB_REPOSITORY)" test/test_*.py pytest: name: Pytest Linux POCL runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: "Main Script" run: | CONDA_ENVIRONMENT=.test-conda-env-py3.yml curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh . ./ci-support.sh ./configure.py --cl-use-shipped-ext build_py_project_in_conda_env test_py_project pytest_intel: name: Pytest Linux Intel CL runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: "Main Script" run: | CONDA_ENVIRONMENT=.test-conda-env-py3.yml # https://github.com/conda-forge/intel-compiler-repack-feedstock/issues/7 sed -i 's/- pocl/- intel-opencl-rt!=2022.2/g' "$CONDA_ENVIRONMENT" curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh . ./ci-support.sh ./configure.py --cl-use-shipped-ext build_py_project_in_conda_env test_py_project pytest_win: name: Pytest Windows Intel CL runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: "Main Script" shell: bash run: | set -x CONDA_ENVIRONMENT=.test-conda-env-py3.yml sed -i 's/- ocl-icd/- khronos-opencl-icd-loader/g' "$CONDA_ENVIRONMENT" sed -i '/- git/d' "$CONDA_ENVIRONMENT" # https://github.com/conda-forge/intel-compiler-repack-feedstock/issues/7 sed -i 's/- pocl/- intel-opencl-rt!=2022.2/g' "$CONDA_ENVIRONMENT" curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh . ./ci-support.sh ./configure.py --cl-use-shipped-ext build_py_project_in_conda_env test_py_project pytest_mac: name: Pytest Mac POCL runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: "Main Script" run: | export CC=gcc CONDA_ENVIRONMENT=.test-conda-env.yml grep -v ocl-icd .test-conda-env-py3.yml > $CONDA_ENVIRONMENT curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh . ./ci-support.sh ./configure.py --cxxflags= --ldflags= --cl-libname=OpenCL build_py_project_in_conda_env test_py_project docs: name: Documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: python-version: '3.x' - name: "Main Script" run: | CONDA_ENVIRONMENT=.test-conda-env-py3.yml curl -L -O https://tiker.net/ci-support-v0 . ci-support-v0 ./configure.py --cl-use-shipped-ext build_py_project_in_conda_env build_docs examples: name: Examples runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: "Main Script" run: | CONDA_ENVIRONMENT=.test-conda-env-py3.yml curl -L -O https://tiker.net/ci-support-v0 . ci-support-v0 EXTRA_INSTALL="pillow cgen mako imageio" build_py_project_in_conda_env (cd examples; rm -f gl_*) run_examples --no-require-main downstream_tests: strategy: matrix: downstream_project: [loopy, boxtree, meshmode] name: Tests for downstream project ${{ matrix.downstream_project }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: "Main Script" env: DOWNSTREAM_PROJECT: ${{ matrix.downstream_project }} run: | 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=4