diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 9771662..1a92ac8 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,15 +11,15 @@ jobs: linux_64_numpy1.20python3.8.____cpython: CONFIG: linux_64_numpy1.20python3.8.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_numpy1.20python3.9.____cpython: CONFIG: linux_64_numpy1.20python3.9.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_numpy1.21python3.10.____cpython: CONFIG: linux_64_numpy1.21python3.10.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: diff --git a/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml index 959f137..094edec 100644 --- a/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: - '1.20' pin_run_as_build: diff --git a/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml b/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml index 6faa8ac..e139797 100644 --- a/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: - '1.20' pin_run_as_build: diff --git a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml index e5511b0..8c28652 100644 --- a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: - '1.21' pin_run_as_build: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index db19657..0000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,2 +0,0 @@ -docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-")] - - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e7fa10e..f9df6d2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,7 +12,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 entry_points: - pycc = numba.pycc:main - numba = numba.misc.numba_entry:main @@ -24,7 +24,6 @@ build: # tbb-devel triggers hard dependency on tbb, this is not the case. - tbb skip: true # [python_impl == 'pypy'] - skip: true # [py<37] requirements: build: @@ -53,7 +52,7 @@ requirements: - setuptools run_constrained: - - tbb 2021.* # [not (armv6l or armv7l or aarch64 or linux32 or ppc64le)] + - {{ pin_compatible('tbb-devel', min_pin='x', max_pin='x') | replace('-devel', '') }} # avoid confusion from openblas bugs - libopenblas !=0.3.6 # [x86_64] - libopenblas >=0.3.18, !=0.3.20 # [arm64] @@ -77,8 +76,7 @@ test: - scipy - ipython - setuptools - - tbb >=2021.0 - - llvm-openmp # [osx] + - {{ pin_compatible('tbb-devel', min_pin='x', max_pin='x') | replace('-devel', '') }} # Need these for AOT. Do not init msvc as it may not be present - {{ compiler('c') }} # [not win] - {{ compiler('cxx') }} # [not win] diff --git a/recipe/run_test.sh b/recipe/run_test.sh index f799d37..d0ec0fe 100644 --- a/recipe/run_test.sh +++ b/recipe/run_test.sh @@ -6,12 +6,18 @@ export NUMBA_DEVELOPER_MODE=1 export NUMBA_DISABLE_ERROR_MESSAGE_HIGHLIGHTING=1 export PYTHONFAULTHANDLER=1 +runtests=( + python -m numba.runtests + -b + --exclude-tags='long_running' +) + unamestr=`uname` if [[ "$unamestr" == 'Linux' ]]; then - SEGVCATCH=catchsegv + runtests=(catchsegv "${runtests[@]}") export CC="${CC} -pthread" elif [[ "$unamestr" == 'Darwin' ]]; then - SEGVCATCH="" + : else echo Error fi @@ -20,11 +26,11 @@ fi # occur on high core count systems archstr=`uname -m` if [[ "$archstr" == 'ppc64le' ]]; then - TEST_NPROCS=1 + runtests+=(-m 1) elif [[ "$archstr" == 'aarch64' ]]; then - TEST_NPROCS=4 + runtests+=(-m 4) else - TEST_NPROCS=${CPU_COUNT} + runtests+=(-m ${CPU_COUNT}) fi # Disable NumPy dispatching to AVX512_SKX feature extensions if the chip is @@ -52,13 +58,25 @@ numba -s python -m numba.tests.test_runtests if [[ "$archstr" == 'aarch64' ]] || [[ "$archstr" == "ppc64le" ]]; then - echo 'Running only a slice of tests' - $SEGVCATCH python -m numba.runtests -b -j --random='0.15' --exclude-tags='long_running' -m $TEST_NPROCS -- numba.tests + echo 'Running only a slice of tests' + # Run tests verbosely to avoid Travis CI from killing it early + runtests+=(-v) + if [[ "$archstr" == "ppc64le" ]]; then + runtests+=(-j --random='0.125') + else + runtests+=(-j --random='0.5') + fi + runtests+=(-- numba.tests) # Else run the whole test suite else - echo 'Running all the tests except long_running' - echo "Running: $SEGVCATCH python -m numba.runtests -b -m $TEST_NPROCS -- $TESTS_TO_RUN" -$SEGVCATCH python -m numba.runtests -b --exclude-tags='long_running' -m $TEST_NPROCS -- $TESTS_TO_RUN + echo 'Running all the tests except long_running' + runtests+=(--) fi +echo "Running: ${runtests[*]}" +# Oddly enough, Travis CI seems to buffer stderr output more than stdout; +# So, to avoid early job terminations, redirect stderr to stdout +2>&1 \ + "${runtests[@]}" + pip check