Skip to content

Infer object-dtype for if extra_property depends on mask size (#7136) #16

Infer object-dtype for if extra_property depends on mask size (#7136)

Infer object-dtype for if extra_property depends on mask size (#7136) #16

Workflow file for this run

# Workflow to build and test wheels
name: Test
on: [push, pull_request, merge_group]
permissions:
contents: read
jobs:
test_skimage_linux:
name: linux-cp${{ matrix.python-version }}-${{ matrix.OPTIONS_NAME }}
runs-on: ubuntu-latest
strategy:
# Ensure that a wheel builder finishes even if another fails
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
PIP_FLAGS: [""]
MINIMUM_REQUIREMENTS: [0]
BUILD_DOCS: [1]
PYTHONOPTIMIZE: [0]
TEST_EXAMPLES: [0]
OPTIONAL_DEPS: [0]
OPTIONS_NAME: ["default"]
INSTALL_FROM_SDIST: [0]
WITHOUT_POOCH: [0]
SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL: [0]
EAGER_IMPORT: [0]
include:
- platform_id: manylinux_x86_64
python-version: 3.9
MINIMUM_REQUIREMENTS: 1
BUILD_DOCS: 0
OPTIONAL_DEPS: 0
EAGER_IMPORT: 1
# Test minimum requirements (don't build docs there is a problem
# with dask and astropy)
OPTIONS_NAME: "mini-req-eager-import"
- platform_id: manylinux_x86_64
python-version: 3.9
MINIMUM_REQUIREMENTS: 1
OPTIONAL_DEPS: 1
BUILD_DOCS: 0
OPTIONS_NAME: "mini-req-optional-deps"
- platform_id: manylinux_x86_64
python-version: 3.11
PIP_FLAGS: "--pre"
SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL: 1
# test prereleases
OPTIONS_NAME: "pre"
- platform_id: manylinux_x86_64
python-version: 3.9
BUILD_DOCS: 1
OPTIONAL_DEPS: 1
OPTIONS_NAME: "optional-deps"
- platform_id: manylinux_x86_64
python-version: 3.9
PYTHONOPTIMIZE: 2
WITHOUT_POOCH: 1
BUILD_DOCS: 0
OPTIONS_NAME: "optimize and no pooch"
- platform_id: manylinux_x86_64
python-version: 3.9
INSTALL_FROM_SDIST: 1
OPTIONS_NAME: "install-from-sdist"
steps:
- name: Checkout scikit-image
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version}}
- name: Build package
env:
# Set variables here that are used by the build script below
# (including those used within tools/github/before_install.sh)
MINIMUM_REQUIREMENTS: ${{ matrix.MINIMUM_REQUIREMENTS }}
PIP_FLAGS: ${{ matrix.PIP_FLAGS }}
INSTALL_FROM_SDIST: ${{ matrix.INSTALL_FROM_SDIST }}
run: |
set -ex
source tools/github/before_install.sh
set -ex
if [[ $INSTALL_FROM_SDIST == "1" ]]; then
python -m build --no-isolation --skip-dependency-check --sdist .
pip install dist/scikit_image-*.tar.gz
else
pip install -vv --no-build-isolation .;
fi
- name: Run tests
env:
# Set variables here that are used by the run script below
# (including those used within tools/github/script.sh)
# Also includes the EAGER_IMPORT and
# SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL env vars that skimage checks.
PIP_FLAGS: ${{ matrix.PIP_FLAGS }}
BUILD_DOCS: ${{ matrix.BUILD_DOCS }}
TEST_EXAMPLES: ${{ matrix.TEST_EXAMPLES }}
OPTIONAL_DEPS: ${{ matrix.OPTIONAL_DEPS }}
INSTALL_FROM_SDIST: ${{ matrix.INSTALL_FROM_SDIST }}
EAGER_IMPORT: ${{ matrix.EAGER_IMPORT }}
SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL: ${{ matrix.SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL }}
WITHOUT_POOCH: ${{ matrix.WITHOUT_POOCH }}
run: |
source tools/github/script.sh
- name: Check benchmarks
run: |
asv check -v -E existing
test_skimage_macos:
name: macos-cp${{ matrix.python-version }}
runs-on: macos-latest
strategy:
# Ensure that a wheel builder finishes even if another fails
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
OPTIONAL_DEPS: [1]
BUILD_DOCS: [1]
OPTIONS_NAME: ["default"]
include:
- python-version: "3.9"
OPTIONAL_DEPS: 0
exclude:
# Problem with SimpleITK and py 3.9
- python-version: "3.9"
OPTIONAL_DEPS: 1
env:
TEST_EXAMPLES: 0
CC: /usr/bin/clang
CXX: /usr/bin/clang++
CPPFLAGS: "-Xpreprocessor -fopenmp"
CFLAGS: "-Wno-implicit-function-declaration -I/usr/local/opt/libomp/include"
CXXFLAGS: "-I/usr/local/opt/libomp/include"
LDFLAGS: "-Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp"
steps:
- name: Checkout scikit-image
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version}}
- name: OSX configuration
run: |
# OpenMP is not present on macOS by default
set -ex
brew install libomp
- name: Build package
run: |
set -ex
source tools/github/before_install.sh
python -m build --no-isolation --sdist
pip install -vv --no-build-isolation .;
- name: Run tests
env:
# Note: TEST_EXAMPLES is not in the matrix.
# It gets inherited from the job-level env.
OPTIONAL_DEPS: ${{ matrix.OPTIONAL_DEPS }}
BUILD_DOCS: ${{ matrix.BUILD_DOCS }}
run: |
source tools/github/script.sh
- name: Check benchmarks
run: |
asv check -v -E existing