8000 Build linux and macOS wheels on GitHub Actions. (#409) · laike9m/msgpack-python@2849f55 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2849f55

Browse files
authored
Build linux and macOS wheels on GitHub Actions. (msgpack#409)
1 parent 12506d8 commit 2849f55

File tree

4 files changed

+154
-5
lines changed

4 files changed

+154
-5
lines changed

.github/workflows/linux.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Build Linux Wheels
2+
on:
3+
push:
4+
pull_request:
5+
create:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v1
13+
14+
- name: Set up Python 3.8
15+
uses: actions/setup-python@v1
16+
with:
17+
python-version: 3.8
18+
19+
- name: Cythonize
20+
shell: bash
21+
run: |
22+
pip install -U pip
23+
pip -V
24+
pip install -r requirements.txt
25+
make cython
26+
#python setup.py sdist
27+
28+
- name: Build wheels
29+
shell: bash
30+
run: |
31+
make linux-wheel
32+
33+
- name: Run test (3.8)
34+
run: |
35+
pip install pytest
36+
pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
37+
pytest -v test
38+
39+
40+
- name: Set up Python 3.7
41+
uses: actions/setup-python@v1
42+
with:
43+
python-version: 3.7
44+
45+
- name: Run test (3.7)
46+
run: |
47+
pip install pytest
48+
pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
49+
pytest -v test
50+
51+
- name: Set up Python 3.6
52+
uses: actions/setup-python@v1
53+
with:
54+
python-version: 3.6
55+
56+
- name: Run test (3.6)
57+
run: |
58+
pip install pytest
59+
pip install -v msgpack --only-binary :all: --no-index -f dist/wheelhouse
60+
pytest -v test
61+
62+
63+
- name: Upload Wheels
64+
uses: actions/upload-artifact@v1
65+
with:
66+
name: linux-wheels
67+
path: ./dist/wheelhouse/

.github/workflows/mac.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Build macOS Wheels
2+
on:
3+
push:
4+
pull_request:
5+
create:
6+
7+
jobs:
8+
build:
9+
runs-on: macos-latest
10+
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v1
14+
15+
- name: Set up Python 3.8
16+
uses: actions/setup-python@v1
17+
with:
18+
python-version: "3.8"
19+
20+
- name: Cythonize
21+
run: |
22+
pip install -U pip
23+
pip install -r requirements.txt
24+
make cython
25+
26+
- name: Build wheel
27+
run: |
28+
pip install setuptools wheel
29+
python setup.py bdist_wheel
30+
31+
- name: Run test
32+
run: |
33+
pip install pytest
34+
pip install -v msgpack --only-binary :all: -f dist/ --no-index
35+
pytest -v test
36+
37+
38+
- name: Set up Python 3.7
39+
uses: actions/setup-python@v1
40+
with:
41+
python-version: "3.7"
42+
43+
- name: Build wheel
44+
run: |
45+
pip install setuptools wheel
46+
python setup.py bdist_wheel
47+
48+
- name: Run test
49+
run: |
50+
pip install pytest
51+
pip install -v msgpack --only-binary :all: -f dist/ --no-index
52+
pytest -v test
53+
54+
55+
- name: Set up Python 3.6
56+
uses: actions/setup-python@v1
57+
with:
58+
python-version: "3.6"
59+
60+
- name: Build wheel
61+
run: |
62+
pip install setuptools wheel
63+
python setup.py bdist_wheel
64+
65+
- name: Run test
66+
run: |
67+
pip install pytest
68+
pip install -v msgpack --only-binary :all: -f dist/ --no-index
69+
pytest -v test
70+
71+
72+
- name: Upload Wheels
73+
uses: actions/upload-artifact@v1
74+
with:
75+
name: macos-wheels
76+
path: ./dist/

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ clean:
3030

3131
.PHONY: update-docker
3232
update-docker:
33-
docker pull quay.io/pypa/manylinux1_i686
34-
docker pull quay.io/pypa/manylinux1_x86_64
33+
docker pull quay.io/pypa/manylinux2010_i686
34+
docker pull quay.io/pypa/manylinux2010_x86_64
3535

3636
.PHONY: linux-wheel
3737
linux-wheel:
38-
docker run --rm -ti -v `pwd`:/project -w /project quay.io/pypa/manylinux1_i686 bash docker/buildwheel.sh
39-
docker run --rm -ti -v `pwd`:/project -w /project quay.io/pypa/manylinux1_x86_64 bash docker/buildwheel.sh
38+
docker run --rm -v `pwd`:/project -w /project quay.io/pypa/manylinux2010_i686 bash docker/buildwheel.sh
39+
docker run --rm -v `pwd`:/project -w /project quay.io/pypa/manylinux2010_x86_64 bash docker/buildwheel.sh

docker/buildwheel.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,11 @@ echo "arch=$ARCH"
1010
for V in "${PYTHON_VERSIONS[@]}"; do
1111
PYBIN=/opt/python/$V/bin
1212
rm -rf build/ # Avoid lib build by narrow Python is used by wide python
13-
$PYBIN/python setup.py bdist_wheel -p manylinux1_${ARCH}
13+
$PYBIN/python setup.py bdist_wheel
14+
done
15+
16+
cd dist
17+
for whl in *.whl; do
18+
auditwheel repair "$whl"
19+
rm "$whl"
1420
done

0 commit comments

Comments
 (0)
0