summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2020-02-19 00:53:01 +0900
committerGitHub <noreply@github.com>2020-02-19 00:53:00 +0900
commit2849f5582ab154ade7fcd8c23109b1c7bd8d1530 (patch)
treeafa1010428e7b425f73c24740da41083a765af27
parent12506d8d91ce5a7b76c2d8babe7e2d1e2851d3a2 (diff)
downloadmsgpack-python-2849f5582ab154ade7fcd8c23109b1c7bd8d1530.tar.gz
Build linux and macOS wheels on GitHub Actions. (#409)
-rw-r--r--.github/workflows/linux.yml67
-rw-r--r--.github/workflows/mac.yml76
-rw-r--r--Makefile8
-rw-r--r--docker/buildwheel.sh8
4 files changed, 154 insertions, 5 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000..89bdb4e
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,67 @@
+name: Build Linux Wheels
+on:
+ push:
+ pull_request:
+ create:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+
+ - name: Set up Python 3.8
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.8
+
+ - name: Cythonize
+ shell: bash
+ run: |
+ pip install -U pip
+ pip -V
+ pip install -r requirements.txt
+ make cython
+ #python setup.py sdist
+
+ - name: Build wheels
+ shell: bash
+ run: |
+ make linux-wheel
+
+ - name: Run test (3.8)
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
+ pytest -v test
+
+
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.7
+
+ - name: Run test (3.7)
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
+ pytest -v test
+
+ - name: Set up Python 3.6
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.6
+
+ - name: Run test (3.6)
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
+ pytest -v test
+
+
+ - name: Upload Wheels
+ uses: actions/upload-artifact@v1
+ with:
+ name: linux-wheels
+ path: ./dist/wheelhouse/
diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml
new file mode 100644
index 0000000..fb2c67f
--- /dev/null
+++ b/.github/workflows/mac.yml
@@ -0,0 +1,76 @@
+name: Build macOS Wheels
+on:
+ push:
+ pull_request:
+ create:
+
+jobs:
+ build:
+ runs-on: macos-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+
+ - name: Set up Python 3.8
+ uses: actions/setup-python@v1
+ with:
+ python-version: "3.8"
+
+ - name: Cythonize
+ run: |
+ pip install -U pip
+ pip install -r requirements.txt
+ make cython
+
+ - name: Build wheel
+ run: |
+ pip install setuptools wheel
+ python setup.py bdist_wheel
+
+ - name: Run test
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: -f dist/ --no-index
+ pytest -v test
+
+
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v1
+ with:
+ python-version: "3.7"
+
+ - name: Build wheel
+ run: |
+ pip install setuptools wheel
+ python setup.py bdist_wheel
+
+ - name: Run test
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: -f dist/ --no-index
+ pytest -v test
+
+
+ - name: Set up Python 3.6
+ uses: actions/setup-python@v1
+ with:
+ python-version: "3.6"
+
+ - name: Build wheel
+ run: |
+ pip install setuptools wheel
+ python setup.py bdist_wheel
+
+ - name: Run test
+ run: |
+ pip install pytest
+ pip install -v msgpack --only-binary :all: -f dist/ --no-index
+ pytest -v test
+
+
+ - name: Upload Wheels
+ uses: actions/upload-artifact@v1
+ with:
+ name: macos-wheels
+ path: ./dist/
diff --git a/Makefile b/Makefile
index b4749b3..2a4c0af 100644
--- a/Makefile
+++ b/Makefile
@@ -30,10 +30,10 @@ clean:
.PHONY: update-docker
update-docker:
- docker pull quay.io/pypa/manylinux1_i686
- docker pull quay.io/pypa/manylinux1_x86_64
+ docker pull quay.io/pypa/manylinux2010_i686
+ docker pull quay.io/pypa/manylinux2010_x86_64
.PHONY: linux-wheel
linux-wheel:
- docker run --rm -ti -v `pwd`:/project -w /project quay.io/pypa/manylinux1_i686 bash docker/buildwheel.sh
- docker run --rm -ti -v `pwd`:/project -w /project quay.io/pypa/manylinux1_x86_64 bash docker/buildwheel.sh
+ docker run --rm -v `pwd`:/project -w /project quay.io/pypa/manylinux2010_i686 bash docker/buildwheel.sh
+ docker run --rm -v `pwd`:/project -w /project quay.io/pypa/manylinux2010_x86_64 bash docker/buildwheel.sh
diff --git a/docker/buildwheel.sh b/docker/buildwheel.sh
index c953127..89a2570 100644
--- a/docker/buildwheel.sh
+++ b/docker/buildwheel.sh
@@ -10,5 +10,11 @@ echo "arch=$ARCH"
for V in "${PYTHON_VERSIONS[@]}"; do
PYBIN=/opt/python/$V/bin
rm -rf build/ # Avoid lib build by narrow Python is used by wide python
- $PYBIN/python setup.py bdist_wheel -p manylinux1_${ARCH}
+ $PYBIN/python setup.py bdist_wheel
+done
+
+cd dist
+for whl in *.whl; do
+ auditwheel repair "$whl"
+ rm "$whl"
done