diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 14f4d7ab..ca6c41df 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -11,7 +11,7 @@ on: env: REPO_DIR: OpenBLAS - OPENBLAS_COMMIT: "0929865" + OPENBLAS_COMMIT: "d11e7340" MACOSX_DEPLOYMENT_TARGET: 10.9 jobs: @@ -45,6 +45,26 @@ jobs: INTERFACE64: '0' MB_ML_LIBC: musllinux MB_ML_VER: _1_1 + + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '0' + # MB_ML_VER: '2014' + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '1' + # MB_ML_VER: '2014' + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '0' + # MB_ML_LIBC: musllinux + # MB_ML_VER: _1_1 + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '1' + # MB_ML_LIBC: musllinux + # MB_ML_VER: _1_1 + exclude: - PLAT: i686 os: macos-13 @@ -78,6 +98,13 @@ jobs: with: xcode-version: '14.3' + - name: Allow docker with qemu + if: ${{ matrix.PLAT == 'aarch64' }} + run: | + sudo apt-get update -q -y + sudo apt-get -qq install -y qemu qemu-user-static + sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes + - name: Print some Environment variable run: | echo "PLAT: ${PLAT}" diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c86930cf..88051fb4 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: null env: - OPENBLAS_COMMIT: "0929865" + OPENBLAS_COMMIT: "d11e7340" OPENBLAS_ROOT: "c:\\opt" # Preserve working directory for calls into bash # Without this, invoking bash will cd to the home directory diff --git a/.travis.yml b/.travis.yml index 8b739d32..e7ebaf41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ env: global: # The archive that gets built has name from ``git describe`` on this # commit. - - OPENBLAS_COMMIT: "0929865" + - OPENBLAS_COMMIT: "d11e7340" - REPO_DIR=OpenBLAS sudo: required @@ -85,14 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - | - if [ ${TRAVIS_EVENT_TYPE} == "cron" ]; then - travis wait build_lib "$PLAT" "$INTERFACE64" 1 - version=$(cd OpenBLAS && git describe --tags --abbrev=8 | sed -e "s/^v\(.*\)-g.*/\1/" | sed -e "s/-/./g") - sed -e "s/^version = .*/version = \"${version}\"/" -i.bak pyproject.toml - else - travis wait build_lib "$PLAT" "$INTERFACE64" 0 - fi + - travis_wait 30 build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/pyproject.toml b/pyproject.toml index b85163a5..5a3a84b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" -# v0.3.27-341-g09298658 -version = "0.3.27.341.0" +# v0.3.27-350-gd11e7340 +version = "0.3.27.350.0" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 859bfacd..bd738d45 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -121,7 +121,6 @@ function do_build_lib { local suffix=$2 local interface64=$3 local nightly=$4 - echo "Building with settings: '$plat' '$suffix' '$interface64'" case $(get_os)-$plat in Linux-x86_64) local bitness=64 @@ -169,21 +168,29 @@ function do_build_lib { esac interface_flags="$interface_flags SYMBOLPREFIX=scipy_ LIBNAMEPREFIX=scipy_ FIXED_LIBNAME=1" mkdir -p libs - start_spinner set -x git config --global --add safe.directory '*' pushd OpenBLAS patch_source - CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ - make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ - USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared > /dev/null + echo start building + if [ -v dynamic_list ]; then + CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ + USE_OPENMP=0 NUM_THREADS=64 \ + DYNAMIC_LIST="$dynamic_list" \ + BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null + else + CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ + USE_OPENMP=0 NUM_THREADS=64 \ + BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null + fi + echo done building, now testing make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ BINARY=$bitness $interface_flags $target_flags tests make PREFIX=$BUILD_PREFIX $interface_flags install popd - stop_spinner if [ "$nightly" = "1" ]; then local version="HEAD" else @@ -213,3 +220,13 @@ function do_build_lib { $BUILD_PREFIX/lib/pkgconfig/scipy-openblas* \ $BUILD_PREFIX/lib/cmake/openblas } + +function build_on_travis { + if [ ${TRAVIS_EVENT_TYPE} == "cron" ]; then + build_lib "$PLAT" "$INTERFACE64" 1 + version=$(cd OpenBLAS && git describe --tags --abbrev=8 | sed -e "s/^v\(.*\)-g.*/\1/" | sed -e "s/-/./g") + sed -e "s/^version = .*/version = \"${version}\"/" -i.bak pyproject.toml + else + build_lib "$PLAT" "$INTERFACE64" 0 + fi +}