name: CI on: push: branches: - main pull_request: paths-ignore: - 'doc/*.rst' 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 -k https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-flake8.sh . ./prepare-and-run-flake8.sh "$(basename $GITHUB_REPOSITORY)" ./test pylint: name: Pylint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: python-version: '3.x' - name: "Main Script" run: | EXTRA_INSTALL="pymbolic" curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-pylint.sh . ./prepare-and-run-pylint.sh "$(basename $GITHUB_REPOSITORY)" test/test_*.py mypy: name: Mypy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: python-version: '3.x' - name: "Main Script" run: | curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-mypy.sh . ./prepare-and-run-mypy.sh python3 mypy pytest: name: Pytest on Py${{ matrix.python-version }} runs-on: ubuntu-latest strategy: matrix: python-version: ["3.6", "3.7", "3.8", "3.9", pypy3] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: "Main Script" run: | # untested, causes import error with Pytest >= 6.2.0 # AK, 2020-12-13 rm pytools/mpiwrap.py # just a forwarding shim, causes import error with Pytest >= 6.2.0 # AK, 2020-12-13 rm pytools/log.py EXTRA_INSTALL="numpy" curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh . ./build-and-test-py-project.sh #examples: # name: Examples Py3 # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v2 # - # uses: actions/setup-python@v1 # with: # python-version: '3.x' # - name: "Main Script" # run: | # EXTRA_INSTALL="numpy pymbolic" # curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh # . ./ci-support.sh # build_py_project_in_venv # run_examples downstream_tests: strategy: matrix: downstream_project: [loopy, pytato] 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: | git clone "https://github.com/inducer/$DOWNSTREAM_PROJECT.git" cd "$DOWNSTREAM_PROJECT" echo "*** $DOWNSTREAM_PROJECT version: $(git rev-parse --short HEAD)" sed -i "/egg=pytools/ c git+file://$(readlink -f ..)#egg=pytools" requirements.txt # HACK: force overwrite even if it's already there (e.g. as a pyopencl dep) sed -i '/egg=pytools/ s/^/-e/' requirements.txt export CONDA_ENVIRONMENT=.test-conda-env-py3.yml # Avoid slow or complicated tests in downstream projects export PYTEST_ADDOPTS="-k 'not (slowtest or octave or mpi)'" curl -L -O -k https://tiker.net/ci-support-v0 . ./ci-support-v0 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: | EXTRA_INSTALL="numpy" curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh . ci-support.sh build_py_project_in_venv build_docs # vim: sw=4