Skip to content

DEBUG: run BLAS jobs on fork #5

DEBUG: run BLAS jobs on fork

DEBUG: run BLAS jobs on fork #5

Workflow file for this run

name: BLAS tests (Linux)
# This file is meant for testing different BLAS/LAPACK flavors and build
# options on Linux. All other yml files for Linux will only test without BLAS
# (mostly because that's easier and faster to build) or with the same 64-bit
# OpenBLAS build that is used in the wheel jobs.
#
# Jobs and their purpose:
#
# - openblas32_stable_nightly:
# Uses the 32-bit OpenBLAS builds, both the latest stable release
# and a nightly build.
# - openblas_no_pkgconfig_fedora:
# Test OpenBLAS on Fedora. Fedora doesn't ship .pc files for OpenBLAS,
# hence this exercises the "system dependency" detection method.
# - flexiblas_fedora:
# Tests FlexiBLAS (the default on Fedora for its own packages), via
# pkg-config. FlexiBLAS allows runtime switching of BLAS/LAPACK
# libraries, which is a useful capability (not tested in this job).
# - openblas_cmake:
# Tests whether OpenBLAS LP64 is detected correctly when only CMake
# and not pkg-config is installed.
# - netlib-debian:
# Installs libblas/liblapack, which in Debian contains libcblas within
# libblas.
# - netlib-split:
# Installs vanilla Netlib blas/lapack with separate libcblas, which is
# the last option tried in auto-detection.
# - mkl:
# Tests MKL installed from PyPI (because easiest/fastest, if broken) in
# 3 ways: both LP64 and ILP64 via pkg-config, and then using the
# Single Dynamic Library (SDL, or `libmkl_rt`).
# - blis:
# Simple test for LP64 via pkg-config
# - atlas:
# Simple test for LP64 via pkg-config
on:
pull_request:
branches:
- main
- maintenance/**
push:
branches:
- ci-blas
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
# openblas32_stable_nightly:
# openblas_no_pkgconfig_fedora:
# flexiblas_fedora:
# openblas_cmake:
# mkl:
# blis:
# atlas:
netlib-debian:
#if: "github.repository == 'rgommers/scipy'"
if: false # no cblas.pc, need to switch to Meson auto
runs-on: ubuntu-latest
name: "Debian libblas/liblapack"
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements/all.txt
pip install git+https://github.com/rgommers/meson.git@dependency-openblas
sudo apt-get install liblapack-dev pkg-config
- name: Build
run: |
python dev.py build -C-Dblas=blas -C-Dlapack=lapack
- name: Test
run: |
python dev.py test -j2
netlib-split:
if: "github.repository == 'rgommers/scipy'"
runs-on: ubuntu-latest
container: opensuse/tumbleweed
name: "OpenSUSE Netlib BLAS/LAPACK"
steps:
- name: Install system dependencies
run: |
# No blas.pc on OpenSUSE as of Nov 2023, so no need to install pkg-config.
# If it is needed in the future, use install name `pkgconf-pkg-config`
zypper install -y git gcc-c++ python3-pip python3-devel blas cblas lapack
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: recursive
fetch-depth: 0
- name: Install PyPI dependencies
run: |
pip install --break-system-packages -r requirements/all.txt
pip install --break-system-packages git+https://github.com/rgommers/meson.git@dependency-openblas
- name: Build
run: |
python3 dev.py build -C-Dblas=blas -C-Dlapack=lapack
- name: Test
run: |
python3 dev.py test -j2