Commit de98ea05 authored by Stefan Behnel's avatar Stefan Behnel

Merge branch '0.29.x'

parents 751532a5 20b3d5b5
......@@ -21,6 +21,14 @@ jobs:
- name: Make sdist and Python wheel
run: make sdist pywheel
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
dist/*.tar.gz
dist/*-none-any.whl
- name: Upload sdist
uses: actions/upload-artifact@v2
with:
......@@ -35,89 +43,48 @@ jobs:
path: dist/*-none-any.whl
if-no-files-found: ignore
manylinux1-i686:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Build Linux wheels
uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux1_i686
with:
python-versions: 'cp27-cp27m cp27-cp27mu cp35-cp35m cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310'
binary:
strategy:
# Allows for matrix sub-jobs to fail without canceling the rest
fail-fast: false
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels-Linux
path: dist/*-manylinux*.whl
if-no-files-found: ignore
matrix:
image:
- manylinux1_x86_64
- manylinux1_i686
- musllinux_1_1_x86_64
- manylinux_2_24_x86_64
- manylinux_2_24_i686
- manylinux_2_24_aarch64
manylinux1-x86_64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Build Linux wheels
uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux1_x86_64
with:
python-versions: 'cp27-cp27m cp27-cp27mu cp35-cp35m cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310'
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels-Linux
path: wheels/*-manylinux*.whl
if-no-files-found: ignore
manylinux2014-i686:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Build Linux wheels
uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux2014_i686
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310'
python-version: 3.9
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels-Linux
path: wheels/*-manylinux2014*.whl
if-no-files-found: ignore
- name: Building wheel
run: |
make sdist wheel_${{ matrix.image }}
manylinux2014-x86_64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Copy wheels in dist
run: cp wheelhouse*/*.whl dist/
- name: Set up Python
uses: actions/setup-python@v1
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
python-version: 3.8
files: |
dist/*manylinux*.whl
dist/*musllinux*.whl
- name: Build Linux wheels
uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux2014_x86_64
with:
python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310'
- name: Upload wheels
- name: Archive Wheels
uses: actions/upload-artifact@v2
with:
name: wheels-Linux
path: wheels/*-manylinux2014*.whl
name: ${{ matrix.image }}
path: dist/*m[au][ns][yl]linux*.whl
if-no-files-found: ignore
......@@ -841,12 +841,26 @@ Other changes
.. _0.29.25:
0.29.25 (2021-??-??)
0.29.25 (2021-12-06)
====================
Bugs fixed
----------
* Several incompatibilities with CPython 3.11 were resolved.
Patches by David Woods, Victor Stinner, Thomas Caswell.
(Github issues :issue:`4411`, :issue:`4414`, :issue:`4415`, :issue:`4416`, :issue:`4420`,
:issue:`4428`, :issue:`4473`, :issue:`4479`, :issue:`4480`)
* Some C compiler warnings were resolved.
Patches by Lisandro Dalcin and others. (Github issue :issue:`4439`)
* C++ ``std::move()`` should only be used automatically in MSVC versions that support it.
Patch by Max Bachmann. (Github issue :issue:`4191`)
* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
(Github issue :issue:`2752`)
* Avoid copying unaligned 16-bit values since some platforms require them to be aligned.
Use memcpy() instead to let the C compiler decide how to do it.
(Github issue :issue:`4343`)
......
......@@ -5,10 +5,17 @@ REPO = git://github.com/cython/cython.git
VERSION?=$(shell sed -ne 's|^__version__\s*=\s*"\([^"]*\)".*|\1|p' Cython/Shadow.py)
PARALLEL?=$(shell ${PYTHON} -c 'import sys; print("-j5" if sys.version_info >= (3,5) else "")' || true)
MANYLINUX1_IMAGE_X86_64=quay.io/pypa/manylinux1_x86_64
MANYLINUX1_IMAGE_686=quay.io/pypa/manylinux1_i686
MANYLINUX_IMAGE_X86_64=quay.io/pypa/manylinux_2_24_x86_64
MANYLINUX_IMAGE_686=quay.io/pypa/manylinux_2_24_i686
MANYLINUX_CFLAGS=-O3 -g0 -mtune=generic -pipe -fPIC
MANYLINUX_LDFLAGS=
MANYLINUX_IMAGES= \
manylinux1_x86_64 \
manylinux1_i686 \
musllinux_1_1_x86_64 \
manylinux_2_24_x86_64 \
manylinux_2_24_i686 \
manylinux_2_24_aarch64 \
# manylinux_2_24_ppc64le \
# manylinux_2_24_s390x
all: local
......@@ -69,30 +76,32 @@ checks:
s5:
$(MAKE) -C Doc/s5 slides
wheel_manylinux: wheel_manylinux64 wheel_manylinux32
qemu-user-static:
docker run --rm --privileged hypriot/qemu-register
wheel_manylinux32 wheel_manylinux64: dist/$(PACKAGENAME)-$(VERSION).tar.gz
wheel_manylinux: sdist $(addprefix wheel_,$(MANYLINUX_IMAGES))
$(addprefix wheel_,$(filter-out %_x86_64, $(filter-out %_i686, $(MANYLINUX_IMAGES)))): qemu-user-static
wheel_%: dist/$(PACKAGENAME)-$(VERSION).tar.gz
echo "Building wheels for $(PACKAGENAME) $(VERSION)"
mkdir -p wheelhouse_$(subst wheel_,,$@)
for dockerimage in $(if $(patsubst %32,,$@),$(MANYLINUX1_IMAGE_X86_64) $(MANYLINUX_IMAGE_X86_64),$(MANYLINUX1_IMAGE_686) $(MANYLINUX_IMAGE_686)); do \
time docker run --rm -t \
-v $(shell pwd):/io \
-e CFLAGS="-O3 -g0 -mtune=generic -pipe -fPIC" \
-e LDFLAGS="$(LDFLAGS) -fPIC" \
-e WHEELHOUSE=wheelhouse_$(subst wheel_,,$@) \
"$$dockerimage" \
bash -c '\
rm -fr /opt/python/*pypy* ; \
for cpdir in /opt/python/*27* ; do \
if [ -d "$$cpdir" ]; \
then rm -fr /opt/python/*3[78912]; \
else rm -fr /opt/python/*{27*,3[456]*}; \
fi; break; \
done ; \
ls /opt/python/ ; \
for PYBIN in /opt/python/*/bin; do \
$$PYBIN/python -V; \
{ $$PYBIN/pip wheel -w /io/$$WHEELHOUSE /io/$< & } ; \
done; wait; \
for whl in /io/$$WHEELHOUSE/$(PACKAGENAME)-$(VERSION)-*-linux_*.whl; do auditwheel repair $$whl -w /io/$$WHEELHOUSE; done' ; \
done
time docker run --rm -t \
-v $(shell pwd):/io \
-e CFLAGS="$(MANYLINUX_CFLAGS)" \
-e LDFLAGS="$(MANYLINUX_LDFLAGS) -fPIC" \
-e WHEELHOUSE=wheelhouse$(subst wheel_musllinux,,$(subst wheel_manylinux,,$@)) \
quay.io/pypa/$(subst wheel_,,$@) \
bash -c '\
rm -fr /opt/python/*pypy* ; \
for cpdir in /opt/python/*27* ; do \
if [ -d "$$cpdir" ]; \
then rm -fr /opt/python/*3[78912]; \
else rm -fr /opt/python/*{27*,3[456]*}; \
fi; break; \
done ; \
ls /opt/python/ ; \
for PYBIN in /opt/python/cp*/bin; do \
$$PYBIN/python -V; \
{ $$PYBIN/pip wheel -w /io/$$WHEELHOUSE /io/$< & } ; \
done; wait; \
for whl in /io/$$WHEELHOUSE/$(PACKAGENAME)-$(VERSION)-*-linux_*.whl; do auditwheel repair $$whl -w /io/$$WHEELHOUSE; done'
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment