summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2021-01-25 20:31:22 +0000
committerMichael Williamson <mike@zwobble.org>2021-01-27 14:01:22 +0000
commit615d65fa173824db6654d0c4e078a020924f865a (patch)
tree1508bb50752a3fb7280c8ca8f22d5a020c6adb9e /.github
parentdb51e965e0fdd2250fa46b23800ab35426e09279 (diff)
Replace Travis with GitHub actions
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml83
1 files changed, 83 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..a422fd5
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,83 @@
+name: Build
+
+on: [push, pull_request]
+
+jobs:
+ tests:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os: [ubuntu-20.04, macos-10.15]
+ python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, pypy2, pypy3]
+
+ steps:
+
+ - uses: actions/checkout@v2
+
+ - name: Use Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - run: pip install tox virtualenv
+
+ - run: "make jq.c"
+
+ - run: tox -e py
+
+ build_sdist:
+ name: Build source distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/setup-python@v2
+ name: Use Python 3.7
+ with:
+ python-version: '3.7'
+
+ - run: make jq.c
+
+ - run: pip install build
+
+ - name: Build sdist
+ run: python -m build --sdist
+
+ - uses: actions/upload-artifact@v2
+ with:
+ path: dist/*.tar.gz
+
+ build_wheels:
+ name: Build wheels on ${{ matrix.os }}
+
+ runs-on: ${{ matrix.os }}
+ if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')
+
+ strategy:
+ matrix:
+ os: [ubuntu-20.04, macos-10.15]
+ python-version: [3.7]
+
+ steps:
+
+ - uses: actions/checkout@v2
+
+ - name: Use Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - run: python -m pip install cibuildwheel==1.8.0 twine virtualenv
+
+ - run: |
+ python3 -m cibuildwheel --output-dir wheelhouse
+ twine check wheelhouse/*.whl
+ env:
+ CIBW_BEFORE_BUILD: "pip install cython==0.29.16 && cython {project}/jq.pyx"
+ CIBW_TEST_REQUIRES: "-r test-requirements.txt"
+ CIBW_TEST_COMMAND: "nosetests {project}/tests"
+
+ - uses: actions/upload-artifact@v2
+ with:
+ path: ./wheelhouse/*.whl