diff options
| author | Michael Williamson <mike@zwobble.org> | 2021-01-25 20:31:22 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2021-01-27 14:01:22 +0000 |
| commit | 615d65fa173824db6654d0c4e078a020924f865a (patch) | |
| tree | 1508bb50752a3fb7280c8ca8f22d5a020c6adb9e | |
| parent | db51e965e0fdd2250fa46b23800ab35426e09279 (diff) | |
Replace Travis with GitHub actions
| -rw-r--r-- | .github/workflows/build.yml | 83 | ||||
| -rw-r--r-- | .travis.yml | 52 | ||||
| -rw-r--r-- | makefile | 2 | ||||
| -rw-r--r-- | setup.py | 3 |
4 files changed, 85 insertions, 55 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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7728d0c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,52 +0,0 @@ -language: python -python: - - "2.7" - - "3.4" - - "3.5" - - "3.6" - - "3.7" - - "3.8" - - "pypy" - - "pypy3" - -jobs: - include: - - if: tag =~ /^([0-9]+\.[0-9]+\.[0-9]+)(\.?(dev|a|b|rc)[0-9]+)?$/ - name: "Linux wheels" - services: - - "docker" - python: "3.8" - install: - - python3 -m pip install cibuildwheel==1.6.2 twine virtualenv - script: - - export CIBW_BEFORE_BUILD="pip install cython==0.29.16 && cython {project}/jq.pyx" - - export CIBW_TEST_REQUIRES="-r test-requirements.txt" - - export CIBW_TEST_COMMAND="nosetests {project}/tests" - - python3 -m cibuildwheel --output-dir wheelhouse && - twine check wheelhouse/*.whl && - twine upload wheelhouse/*.whl --skip-existing - - - if: tag =~ /^([0-9]+\.[0-9]+\.[0-9]+)(\.?(dev|a|b|rc)[0-9]+)?$/ - name: "OS X wheels" - os: osx - osx_image: xcode11.2 - language: "shell" - install: - - python3 -m pip install cibuildwheel==1.6.2 twine virtualenv - script: - - export CIBW_BEFORE_BUILD="pip install cython==0.29.16 && cython {project}/jq.pyx" - - export CIBW_TEST_REQUIRES="-r test-requirements.txt" - - export CIBW_TEST_COMMAND="nosetests {project}/tests" - - python3 -m cibuildwheel --output-dir wheelhouse && - twine check wheelhouse/*.whl && - twine upload wheelhouse/*.whl --skip-existing - -env: - global: - - TWINE_USERNAME=__token__ - # Note: TWINE_PASSWORD is set to a PyPI API token in Travis settings - -install: - - "make jq.c" - - "pip install tox" -script: tox -e py @@ -22,7 +22,7 @@ endif make clean _virtualenv: - virtualenv _virtualenv + python3 -m venv _virtualenv _virtualenv/bin/pip install --upgrade pip _virtualenv/bin/pip install --upgrade setuptools _virtualenv/bin/pip install --upgrade wheel @@ -65,8 +65,7 @@ class jq_build_ext(build_ext): tarball_path=jq_lib_tarball_path, lib_dir=jq_lib_dir, commands=[ - ["autoreconf", "-i"], - ["./configure", "CFLAGS=-fPIC", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir], + ["./configure", "CFLAGS=-fPIC -pthread", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir], ["make"], ]) |
