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