Skip to content

CI

CI #2645

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '17 3 * * 0'
concurrency:
group: ${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
jobs:
typos:
name: Typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: crate-ci/typos@master
ruff:
name: Ruff
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- name: "Main Script"
run: |
pip install ruff
ruff check
basedpyright:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Main Script"
run: |
curl -L -O https://tiker.net/ci-support-v0
. ./ci-support-v0
# pyright is happier with missing packages than installed, untyped ones
sed -i /oct2py/d .test-conda-env-py3.yml
sed -i /h5py/d .test-conda-env-py3.yml
build_py_project_in_conda_env
python -m pip install basedpyright scipy-stubs
basedpyright
pytest3:
name: Pytest Conda Py3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Main Script"
run: |
sudo apt update && sudo apt install octave
export MPLBACKEND=Agg
curl -L -O https://tiker.net/ci-support-v0
. ./ci-support-v0
build_py_project_in_conda_env
test_py_project
firedrake:
name: Pytest Firedrake
runs-on: ubuntu-latest
container:
image: 'firedrakeproject/firedrake'
steps:
- name: "Checkout"
run: |
cd /root
mkdir meshmode
cd meshmode
git init
git remote add origin "https://github.com/$GITHUB_REPOSITORY.git"
git fetch origin "$GITHUB_REF"
git checkout FETCH_HEAD
- name: "Make a venv"
run: |
cd /root
python3 -m venv --system-site-packages myvenv
- name: "Dependencies"
run: |
cd /root/meshmode
. .ci/install-for-firedrake.sh
- name: "Test"
run: |
cd /root/meshmode
. /root/myvenv/bin/activate
cd test
python -m pytest --tb=native -rxsw test_firedrake_interop.py
firedrake_examples:
name: Examples Firedrake
runs-on: ubuntu-latest
container:
image: 'firedrakeproject/firedrake'
steps:
- name: "Checkout"
run: |
cd /root
mkdir meshmode
cd meshmode
git init
git remote add origin "https://github.com/$GITHUB_REPOSITORY.git"
git fetch origin "$GITHUB_REF"
git checkout FETCH_HEAD
- name: "Make a venv"
run: |
cd /root
python3 -m venv --system-site-packages myvenv
- name: "Dependencies"
run: |
cd /root/meshmode
. .ci/install-for-firedrake.sh
- name: "Examples"
run: |
cd /root/meshmode
. /root/myvenv/bin/activate
. ./.ci/run_firedrake_examples.sh
examples3:
name: Examples Conda Py3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Main Script"
run: |
export MPLBACKEND=Agg
USE_CONDA_BUILD=1
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
. ./build-py-project-and-run-examples.sh
# Test lazy eval
rm -f *.vtu
python simple-dg.py --lazy
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
-
uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: "Main Script"
run: |
# texlive is needed for sphinxcontrib-tikz
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
texlive-pictures texlive-latex-extra graphviz pdf2svg
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
. ci-support.sh
# https://github.com/sphinx-contrib/tikz/issues/21
export EXTRA_INSTALL="sphinxcontrib-tikz!=0.4.18"
build_py_project_in_conda_env
# Work around
# intersphinx inventory 'https://firedrakeproject.org/objects.inv' not fetchable
# by deleting all the Firedrake stuff
rm -Rf meshmode/interop/firedrake
sed -i '/firedrakeproject/d' doc/conf.py
sed -i '/interop/d' doc/index.rst
rm doc/interop.rst
build_docs
downstream_tests:
strategy:
fail-fast: false
matrix:
downstream_project: [grudge, pytential, mirgecom, mirgecom_examples]
name: Tests for downstream project ${{ matrix.downstream_project }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: "Main Script"
env:
DOWNSTREAM_PROJECT: ${{ matrix.downstream_project }}
run: |
curl -L -O https://tiker.net/ci-support-v0
. ./ci-support-v0
if [[ "$DOWNSTREAM_PROJECT" == "grudge" && "$GITHUB_HEAD_REF" == "group-constr-drop-index" ]]; then
DOWNSTREAM_PROJECT=https://github.com/inducer/grudge.git@grad-test-overint
fi
test_downstream "$DOWNSTREAM_PROJECT"
# vim: sw=4