52 lines
1.1 KiB
YAML
52 lines
1.1 KiB
YAML
name: build and test the package
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: check runner environment
|
|
run: |
|
|
uname -a
|
|
lsb_release -a
|
|
echo "Runner home: $HOME"
|
|
|
|
- name: check out
|
|
uses: actions/checkout@v5
|
|
|
|
- name: set up compilers
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get -y install binutils build-essential g++ gcc gfortran libblas-dev liblapack-dev openmpi-bin openmpi-common sqlite3
|
|
|
|
- name: set up python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: install uv
|
|
uses: astral-sh/setup-uv@v7
|
|
with:
|
|
version: "0.9.18"
|
|
enable-cache: true
|
|
|
|
- name: lint with ruff
|
|
# configuration is in pyproject.toml
|
|
run: |
|
|
uvx ruff check --extend-exclude=.venv,build pmsco
|
|
|
|
- name: install dependencies
|
|
run: uv sync --locked --all-extras --dev
|
|
|
|
- name: tests
|
|
run: |
|
|
uv run nosetests
|