also run dataclasses test with optimizations enabled (#275) #1504
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths-ignore: | |
- 'doc/*.rst' | |
schedule: | |
- cron: '17 3 * * 0' | |
concurrency: | |
group: ${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
ruff: | |
name: Ruff | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
- name: "Main Script" | |
run: | | |
pip install ruff | |
ruff check | |
typos: | |
name: Typos | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: crate-ci/typos@master | |
validate_cff: | |
name: Validate CITATION.cff | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- run: | | |
pip install cffconvert | |
cffconvert -i CITATION.cff --validate | |
pylint: | |
name: Pylint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: "Main Script" | |
run: | | |
EXTRA_INSTALL="numpy pymbolic orderedsets" | |
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/prepare-and-run-pylint.sh | |
. ./prepare-and-run-pylint.sh "$(basename $GITHUB_REPOSITORY)" | |
mypy: | |
name: Mypy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: "Main Script" | |
run: | | |
EXTRA_INSTALL="numpy siphash24" | |
curl -L -O 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 }} ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.12", "3.x", "pypy3.10"] | |
os: [ubuntu-latest, macos-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
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 | |
EXTRA_INSTALL="numpy frozendict immutabledict orderedsets constantdict immutables pyrsistent attrs siphash24" | |
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh | |
. ./build-and-test-py-project.sh | |
# Also run with optimizations turned on, since opt_frozen_dataclass | |
# depends on the __debug__ setting. | |
python -O -m pytest pytools/test/test_dataclasses.py | |
pytest_nonumpy: | |
name: Pytest without Numpy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: "Main Script" | |
run: | | |
EXTRA_INSTALL="siphash24" | |
rm pytools/{convergence,spatial_btree,obj_array,mpiwrap}.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 | |
#examples: | |
# name: Examples Py3 | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - | |
# uses: actions/setup-python@v5 | |
# with: | |
# python-version: '3.x' | |
# - name: "Main Script" | |
# run: | | |
# EXTRA_INSTALL="numpy pymbolic" | |
# curl -L -O https://tiker.net/ci-support-v0 | |
# . ./ci-support-v0 | |
# 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@v4 | |
- name: "Main Script" | |
env: | |
DOWNSTREAM_PROJECT: ${{ matrix.downstream_project }} | |
run: | | |
curl -L -O https://tiker.net/ci-support-v0 | |
. ./ci-support-v0 | |
test_downstream "$DOWNSTREAM_PROJECT" | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: "Main Script" | |
run: | | |
EXTRA_INSTALL="numpy" | |
curl -L -O https://tiker.net/ci-support-v0 | |
. ci-support-v0 | |
build_py_project_in_venv | |
build_docs | |
# vim: sw=4 |