Commit 4e84ec5d authored by Sneha Kanekar1's avatar Sneha Kanekar1 Committed by Jason Madden

add ppc64le support

parent 34e349f6
...@@ -141,6 +141,72 @@ jobs: ...@@ -141,6 +141,72 @@ jobs:
skip_existing: true skip_existing: true
packages_dir: wheelhouse/ packages_dir: wheelhouse/
manylinux_ppc64le:
runs-on: ubuntu-latest
# We use a regular Python matrix entry to share as much code as possible.
strategy:
matrix:
python-version: [3.9]
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Cache ~/.ccache
uses: actions/cache@v2
with:
path: ~/.ccache/
key: ${{ runner.os }}-ccache_manylinux-${{ matrix.python-version }}
- name: Get pip cache dir
id: pip-cache
run: |
echo "::set-output name=dir::$(pip cache dir)"
- name: pip cache
uses: actions/cache@v2
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip_manylinux_ppc64le-${{ matrix.python-version }}
restore-keys: |
${{ runner.os }}-pip-
- name: Update pip
run: pip install -U pip
- name: Enable emulation
run: |
docker run --rm --privileged hypriot/qemu-register
# This one was seen in pyca/bcrypt. What's the difference?
# (Other than this one not working.)
#run: |
# docker run --rm --privileged multiarch/qemu-user-static:register --reset
- name: Build and test gevent
# Skip the bulk of the tests, running them emulated on arm takes
# forever. Likewise, don't build or even configure c-ares; in the emulated platform
# it takes at least 15 minutes and often much longer.
env:
DOCKER_IMAGE: quay.io/pypa/manylinux2014_ppc64le
GEVENTTEST_SKIP_ALL: 1
GEVENTSETUP_DISABLE_ARES: 1
run: scripts/releases/make-manylinux
- name: Upload gevent wheels
uses: actions/upload-artifact@v2
with:
path: wheelhouse/*whl
name: manylinux_ppc64le_wheels.zip
- name: Restore pip cache permissions
run: sudo chown -R $(whoami) ${{ steps.pip-cache.outputs.dir }}
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@v1.4.1
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
with:
user: __token__
password: ${{ secrets.TWINE_PASSWORD }}
skip_existing: true
packages_dir: wheelhouse/
test: test:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
......
...@@ -33,14 +33,15 @@ export BUILD_LIBS=$HOME/.libs ...@@ -33,14 +33,15 @@ export BUILD_LIBS=$HOME/.libs
export CCACHE_DIR="/ccache" export CCACHE_DIR="/ccache"
# Disable some warnings produced by libev especially and also some Cython generated code. # Disable some warnings produced by libev especially and also some Cython generated code.
# Note that changing the value of these variables invalidates configure caches # Note that changing the value of these variables invalidates configure caches
GEVENT_WARNFLAGS="-Wno-strict-aliasing -Wno-comment -Wno-unused-value -Wno-unused-but-set-variable -Wno-sign-compare -Wno-parentheses -Wno-unused-function -Wno-tautological-compare -Wno-strict-prototypes -Wno-return-type -Wno-misleading-indentation" GEVENT_WARNFLAGS="-Wno-strict-aliasing -Wno-comment -Wno-unused-value -Wno-unused-but-set-variable -Wno-sign-compare -Wno-parentheses -Wno-unused-function -Wno-tautological-compare -Wno-strict-prototypes -Wno-return-type -Wno-misleading-indentation"
OPTIMIZATION_FLAGS="-pipe" OPTIMIZATION_FLAGS="-pipe"
if [ "$DOCKER_IMAGE" == "quay.io/pypa/manylinux2014_aarch64" -a -n "$GITHUB_ACTIONS" ]; then if [ "$DOCKER_IMAGE" == "quay.io/pypa/manylinux2014_aarch64" -a -n "$GITHUB_ACTIONS" ] || [ "$DOCKER_IMAGE" == "quay.io/pypa/manylinux2014_ppc64le" -a -n "$GITHUB_ACTIONS" ] ; then
# Compiling with -Ofast is a no-go because of the regression it causes (#1864). # Compiling with -Ofast is a no-go because of the regression it causes (#1864).
# The default settings have -O3, and adding -Os doesn't help much. So maybe -O1 will. # The default settings have -O3, and adding -Os doesn't help much. So maybe -O1 will.
echo "Compiling with -O1" echo "Compiling with -O1"
OPTIMIZATION_FLAGS="-pipe -O1" OPTIMIZATION_FLAGS="-pipe -O1"
SLOW_ARM=1 SLOW_BUILD=1
else else
echo "Compiling with -O3" echo "Compiling with -O3"
OPTIMIZATION_FLAGS="-pipe -O3" OPTIMIZATION_FLAGS="-pipe -O3"
...@@ -82,7 +83,7 @@ if [ -d /gevent -a -d /opt/python ]; then ...@@ -82,7 +83,7 @@ if [ -d /gevent -a -d /opt/python ]; then
# Some images/archs (specificaly 2014_aarch64) don't have ccache; # Some images/archs (specificaly 2014_aarch64) don't have ccache;
# This also seems to have vanished for manylinux_2010 x64/64 after November 30 # This also seems to have vanished for manylinux_2010 x64/64 after November 30
# 2020 when the OS went EOL and the package repos switched to the "vault" # 2020 when the OS went EOL and the package repos switched to the "vault"
if [ -n "$SLOW_ARM" ]; then if [ -n "$SLOW_BUILD" ] ; then
# This provides access to ccache for the 2014 image # This provides access to ccache for the 2014 image
echo Installing epel echo Installing epel
rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
......
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