Commit de98ea05 authored by Stefan Behnel's avatar Stefan Behnel

Merge branch '0.29.x'

parents 751532a5 20b3d5b5
...@@ -21,6 +21,14 @@ jobs: ...@@ -21,6 +21,14 @@ jobs:
- name: Make sdist and Python wheel - name: Make sdist and Python wheel
run: make sdist pywheel 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 - name: Upload sdist
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
...@@ -35,89 +43,48 @@ jobs: ...@@ -35,89 +43,48 @@ jobs:
path: dist/*-none-any.whl path: dist/*-none-any.whl
if-no-files-found: ignore if-no-files-found: ignore
manylinux1-i686: binary:
runs-on: ubuntu-latest strategy:
steps: # Allows for matrix sub-jobs to fail without canceling the rest
- uses: actions/checkout@v2 fail-fast: false
- 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'
- name: Upload wheels matrix:
uses: actions/upload-artifact@v2 image:
with: - manylinux1_x86_64
name: wheels-Linux - manylinux1_i686
path: dist/*-manylinux*.whl - musllinux_1_1_x86_64
if-no-files-found: ignore - manylinux_2_24_x86_64
- manylinux_2_24_i686
- manylinux_2_24_aarch64
manylinux1-x86_64:
runs-on: ubuntu-latest 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: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python - name: Set up Python 3.9
uses: actions/setup-python@v1 uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Build Linux wheels
uses: RalfG/python-wheels-manylinux-build@v0.3.4-manylinux2014_i686
with: with:
python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310' python-version: 3.9
- name: Upload wheels - name: Building wheel
uses: actions/upload-artifact@v2 run: |
with: make sdist wheel_${{ matrix.image }}
name: wheels-Linux
path: wheels/*-manylinux2014*.whl
if-no-files-found: ignore
manylinux2014-x86_64: - name: Copy wheels in dist
runs-on: ubuntu-latest run: cp wheelhouse*/*.whl dist/
steps:
- uses: actions/checkout@v2
- name: Set up Python - name: Release
uses: actions/setup-python@v1 uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with: with:
python-version: 3.8 files: |
dist/*manylinux*.whl
dist/*musllinux*.whl
- name: Build Linux wheels - name: Archive 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
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: wheels-Linux name: ${{ matrix.image }}
path: wheels/*-manylinux2014*.whl path: dist/*m[au][ns][yl]linux*.whl
if-no-files-found: ignore if-no-files-found: ignore
...@@ -841,12 +841,26 @@ Other changes ...@@ -841,12 +841,26 @@ Other changes
.. _0.29.25: .. _0.29.25:
0.29.25 (2021-??-??) 0.29.25 (2021-12-06)
==================== ====================
Bugs fixed 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. * 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. Use memcpy() instead to let the C compiler decide how to do it.
(Github issue :issue:`4343`) (Github issue :issue:`4343`)
......
...@@ -5,10 +5,17 @@ REPO = git://github.com/cython/cython.git ...@@ -5,10 +5,17 @@ REPO = git://github.com/cython/cython.git
VERSION?=$(shell sed -ne 's|^__version__\s*=\s*"\([^"]*\)".*|\1|p' Cython/Shadow.py) 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) 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 MANYLINUX_CFLAGS=-O3 -g0 -mtune=generic -pipe -fPIC
MANYLINUX1_IMAGE_686=quay.io/pypa/manylinux1_i686 MANYLINUX_LDFLAGS=
MANYLINUX_IMAGE_X86_64=quay.io/pypa/manylinux_2_24_x86_64 MANYLINUX_IMAGES= \
MANYLINUX_IMAGE_686=quay.io/pypa/manylinux_2_24_i686 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 all: local
...@@ -69,30 +76,32 @@ checks: ...@@ -69,30 +76,32 @@ checks:
s5: s5:
$(MAKE) -C Doc/s5 slides $(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)" echo "Building wheels for $(PACKAGENAME) $(VERSION)"
mkdir -p wheelhouse_$(subst wheel_,,$@) 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 \
time docker run --rm -t \ -v $(shell pwd):/io \
-v $(shell pwd):/io \ -e CFLAGS="$(MANYLINUX_CFLAGS)" \
-e CFLAGS="-O3 -g0 -mtune=generic -pipe -fPIC" \ -e LDFLAGS="$(MANYLINUX_LDFLAGS) -fPIC" \
-e LDFLAGS="$(LDFLAGS) -fPIC" \ -e WHEELHOUSE=wheelhouse$(subst wheel_musllinux,,$(subst wheel_manylinux,,$@)) \
-e WHEELHOUSE=wheelhouse_$(subst wheel_,,$@) \ quay.io/pypa/$(subst wheel_,,$@) \
"$$dockerimage" \ bash -c '\
bash -c '\ rm -fr /opt/python/*pypy* ; \
rm -fr /opt/python/*pypy* ; \ for cpdir in /opt/python/*27* ; do \
for cpdir in /opt/python/*27* ; do \ if [ -d "$$cpdir" ]; \
if [ -d "$$cpdir" ]; \ then rm -fr /opt/python/*3[78912]; \
then rm -fr /opt/python/*3[78912]; \ else rm -fr /opt/python/*{27*,3[456]*}; \
else rm -fr /opt/python/*{27*,3[456]*}; \ fi; break; \
fi; break; \ done ; \
done ; \ ls /opt/python/ ; \
ls /opt/python/ ; \ for PYBIN in /opt/python/cp*/bin; do \
for PYBIN in /opt/python/*/bin; do \ $$PYBIN/python -V; \
$$PYBIN/python -V; \ { $$PYBIN/pip wheel -w /io/$$WHEELHOUSE /io/$< & } ; \
{ $$PYBIN/pip wheel -w /io/$$WHEELHOUSE /io/$< & } ; \ done; wait; \
done; wait; \ for whl in /io/$$WHEELHOUSE/$(PACKAGENAME)-$(VERSION)-*-linux_*.whl; do auditwheel repair $$whl -w /io/$$WHEELHOUSE; done'
for whl in /io/$$WHEELHOUSE/$(PACKAGENAME)-$(VERSION)-*-linux_*.whl; do auditwheel repair $$whl -w /io/$$WHEELHOUSE; done' ; \
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