Infer object-dtype for if extra_property depends on mask size (#7136) #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |