Limit Github CI PR concurrency #1484
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 | |
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 |