From 615d65fa173824db6654d0c4e078a020924f865a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 25 Jan 2021 20:31:22 +0000 Subject: Replace Travis with GitHub actions --- .github/workflows/build.yml | 83 +++++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 52 ---------------------------- makefile | 2 +- setup.py | 3 +- 4 files changed, 85 insertions(+), 55 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .travis.yml 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 diff --git a/makefile b/makefile index 01c5db1..fab534d 100644 --- a/makefile +++ b/makefile @@ -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 diff --git a/setup.py b/setup.py index 8494eba..281027e 100644 --- a/setup.py +++ b/setup.py @@ -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"], ]) -- cgit v1.2.3