diff --git a/README.md b/README.md index bf67d285..1fa566e9 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,19 @@ We build OpenBLAS on Travis-CI (for linux aarch64, ppc64, s390x) and github actions for linux, windows, macOS x86_64 and macOS arm64. -Tarballs are at -https://anaconda.org/scientific-python-nightly-wheels/openblas-libs/files - -A project using the tarball, for Manylinux or macOS, will need the -``gfortran-install`` submodule used here, from -https://github.com/MacPython/gfortran-install - -We also build and upload a pip-installable wheel. The wheel is self-contained, -it includes all needed gfortran support libraries. On windows, this is a single -DLL. On linux we use `auditwheel repair` to mangle the shared object names. +First, tarballs are built using `do_build_lib` in `tools/build_steps.sh` (on +posix in a docker and drectly on macos) or `build_openblas.sh` on windows. + +Then the shared object and header files from the tarball are used to build the +wheel via `tools/build_wheel.sh`, and the wheels uploaded to +https://anaconda.org/scientific=python-nightly-wheels/scipy_openblas32 and +https://anaconda.org/scientific=python-nightly-wheels/scipy_openblas64 via +`tools/upload_to_anaconda_staging.sh`. For a release, the wheels are uploaded +to PyPI by downloading them via tools/dowlnload-wheels.py and uploading via +[twine](https://twine.readthedocs.io/en/stable/). + +The wheel is self-contained, it includes all needed gfortran support libraries. +On windows, this is a single DLL. The wheel supplies interfaces for building and using OpenBLAS in a python project like SciPy or NumPy: diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 02445d27..53d0dcf4 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -203,17 +203,3 @@ function do_build_lib { $BUILD_PREFIX/lib/pkgconfig/scipy-openblas* \ $BUILD_PREFIX/lib/cmake/openblas } - -function upload_to_anaconda { - if [ "$ANACONDA_SCIENTIFIC_PYTHON_UPLOAD" == "" ]; then - echo "ANACONDA_SCIENTIFIC_PYTHON_UPLOAD is not defined: skipping." - else - anaconda -t $ANACONDA_SCIENTIFIC_PYTHON_UPLOAD upload \ - --no-progress --force -u scientific-python-nightly-wheels \ - -t file -p "openblas-libs" \ - -v "$(cd OpenBLAS && git describe --tags --abbrev=8)" \ - -d "OpenBLAS for multibuild wheels" \ - -s "OpenBLAS for multibuild wheels" \ - libs/openblas*.tar.gz - fi -} diff --git a/tools/upload_to_anaconda_staging.sh b/tools/upload_to_anaconda_staging.sh index 6b22aba1..b428fc8e 100644 --- a/tools/upload_to_anaconda_staging.sh +++ b/tools/upload_to_anaconda_staging.sh @@ -13,14 +13,6 @@ upload_wheels() { VERSION=$(git describe --tags --abbrev=8) popd - if [ "$OPENBLAS_LIBS_STAGING_UPLOAD_TOKEN" != "" ]; then - echo "Uploading OpenBLAS $VERSION to anaconda.org/multibuild-wheels-staging" - - anaconda -t $OPENBLAS_LIBS_STAGING_UPLOAD_TOKEN upload \ - --no-progress --force -u multibuild-wheels-staging \ - dist/scipy_openblas*.whl - - fi if [ "$ANACONDA_SCIENTIFIC_PYTHON_UPLOAD" == "" ]; then echo "ANACONDA_SCIENTIFIC_PYTHON_UPLOAD is not defined: skipping." else @@ -29,13 +21,5 @@ upload_wheels() { anaconda -t $ANACONDA_SCIENTIFIC_PYTHON_UPLOAD upload \ --no-progress --force -u scientific-python-nightly-wheels \ dist/scipy_openblas*.whl - - tarballs=$(ls -d builds/openblas*.zip libs/openblas*.tar.gz 2>/dev/null) - anaconda -t $ANACONDA_SCIENTIFIC_PYTHON_UPLOAD upload \ - --no-progress --force -u scientific-python-nightly-wheels \ - -t file -p "openblas-libs" -v "$VERSION" \ - -d "OpenBLAS for multibuild wheels" \ - -s "OpenBLAS for multibuild wheels" \ - ${tarballs} fi }