Skip to content

Commit c41cf3a

Browse files
authored
Merge pull request #8 from megagonlabs/master
Build wheels and auto-deploy to test.pypi.org by using GitHub actions
2 parents 2958b48 + 2be589b commit c41cf3a

8 files changed

Lines changed: 174 additions & 1 deletion

File tree

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/sh
2+
3+
PYTHONS=("cp36-cp36m" "cp37-cp37m" "cp38-cp38")
4+
5+
for PYTHON in ${PYTHONS[@]}; do
6+
/opt/python/${PYTHON}/bin/pip install --upgrade pip
7+
/opt/python/${PYTHON}/bin/pip install -U wheel auditwheel
8+
/opt/python/${PYTHON}/bin/pip wheel . -w /github/workspace/wheelhouse/
9+
done
10+
11+
for whl in /github/workspace/wheelhouse/*.whl; do
12+
auditwheel repair $whl
13+
done
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: 'build wheels with manylinux1_i686'
2+
description: 'build wheels with manylinux1_i686'
3+
runs:
4+
using: 'docker'
5+
image: docker://quay.io/pypa/manylinux1_i686
6+
args:
7+
- .github/workflows/actions/entrypoint.sh
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: 'build wheels with manylinux1_x86_64'
2+
description: 'build wheels with manylinux1_x86_64'
3+
runs:
4+
using: 'docker'
5+
image: docker://quay.io/pypa/manylinux1_x86_64
6+
args:
7+
- .github/workflows/actions/entrypoint.sh

.github/workflows/build_linux.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: build wheels for linux
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: submodule update
13+
run: |
14+
git submodule update --init --recursive
15+
- uses: ./.github/workflows/actions/manylinux1_x86_64/
16+
- uses: ./.github/workflows/actions/manylinux1_i686/
17+
- name: copy manylinux wheels
18+
run: |
19+
mkdir dist
20+
cp wheelhouse/dartsclone*-manylinux1_x86_64.whl dist/
21+
cp wheelhouse/dartsclone*-manylinux1_i686.whl dist/
22+
- name: upload wheels
23+
uses: actions/upload-artifact@v1
24+
with:
25+
name: dist
26+
path: dist
27+
- name: Publish to PyPI
28+
env:
29+
PYPI_USERNAME: ${{ secrets.TEST_PYPI_USER }}
30+
PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
31+
run: |
32+
pip install twine
33+
python -m twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} --repository-url https://test.pypi.org/legacy/ dist/*

.github/workflows/build_mac.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: build wheels for macos
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ${{ matrix.os }}
9+
10+
strategy:
11+
matrix:
12+
os: [macos-latest]
13+
architecture: [x64]
14+
python-version: [3.6, 3.7, 3.8]
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Set up Python ${{ matrix.python-version }}
19+
uses: actions/setup-python@v1
20+
with:
21+
architecture: ${{ matrix.architecture }}
22+
python-version: ${{ matrix.python-version }}
23+
- name: build wheel
24+
run: |
25+
git submodule update --init --recursive
26+
pip install -U wheel
27+
python setup.py bdist_wheel
28+
shell: bash
29+
- name: upload wheel
30+
uses: actions/upload-artifact@v1
31+
with:
32+
name: dist_${{ matrix.os }}_${{ matrix.architecture }}_${{ matrix.python-version }}
33+
path: dist
34+
- name: Publish to PyPI
35+
env:
36+
PYPI_USERNAME: ${{ secrets.TEST_PYPI_USER }}
37+
PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
38+
run: |
39+
pip install twine
40+
python -m twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} --repository-url https://test.pypi.org/legacy/ dist/*
41+
shell: bash

.github/workflows/build_win.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: build wheels for windows
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ${{ matrix.os }}
9+
10+
strategy:
11+
matrix:
12+
os: [windows-latest]
13+
architecture: [x64, x86]
14+
python-version: [3.6, 3.7, 3.8]
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Set up Python ${{ matrix.python-version }}
19+
uses: actions/setup-python@v1
20+
with:
21+
architecture: ${{ matrix.architecture }}
22+
python-version: ${{ matrix.python-version }}
23+
- name: build wheel
24+
run: |
25+
git submodule update --init --recursive
26+
pip install -U wheel
27+
python setup.py bdist_wheel
28+
shell: bash
29+
- name: upload wheel
30+
uses: actions/upload-artifact@v1
31+
with:
32+
name: dist_${{ matrix.os }}_${{ matrix.architecture }}_${{ matrix.python-version }}
33+
path: dist
34+
- name: Publish to PyPI
35+
env:
36+
PYPI_USERNAME: ${{ secrets.TEST_PYPI_USER }}
37+
PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
38+
run: |
39+
pip install twine
40+
python -m twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} --repository-url https://test.pypi.org/legacy/ dist/*
41+
shell: bash

.github/workflows/make_sdist.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: make source distribution
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: Set up Python
13+
uses: actions/setup-python@v1
14+
with:
15+
python-version: 3.8
16+
- name: make sdist
17+
run: |
18+
git submodule update --init --recursive
19+
python setup.py sdist
20+
- name: upload sdist
21+
uses: actions/upload-artifact@v1
22+
with:
23+
name: dist
24+
path: dist
25+
- name: Publish to PyPI
26+
env:
27+
PYPI_USERNAME: ${{ secrets.TEST_PYPI_USER }}
28+
PYPI_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
29+
run: |
30+
pip install twine
31+
python -m twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} --repository-url https://test.pypi.org/legacy/ dist/*

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from setuptools import setup, Extension
22

33
NAME = 'dartsclone'
4-
VERSION = '0.8.0'
4+
VERSION = '0.8.5'
55
EXTENSIONS = [
66
Extension(
77
'{0}._{0}'.format(NAME),

0 commit comments

Comments
 (0)