diff --git a/.github/workflows/non-test-tox.yml b/.github/workflows/non-test-tox.yml new file mode 100644 index 0000000..fea5e80 --- /dev/null +++ b/.github/workflows/non-test-tox.yml @@ -0,0 +1,17 @@ +name: Coverage, mypi + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.7 + - name: Install Tox and any other packages + run: pip install tox + - name: Run Tox + run: tox -e coverage-py37,mypy-py37 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d114c7a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,26 @@ +name: Upload Python Package + +on: + release: + types: [created] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.7' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/tox-tests.yml b/.github/workflows/tox-tests.yml new file mode 100644 index 0000000..5457bd7 --- /dev/null +++ b/.github/workflows/tox-tests.yml @@ -0,0 +1,23 @@ +name: Tox Tests + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python: [3.5, 3.6, 3.7, 3.8, 3.9] + + steps: + - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install Tox and any other packages + run: pip install tox + - name: Run Tox + # Run tox using the version of Python in `PATH` + run: tox -e py-asyncio,py-tornado diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index df44797..0000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -language: python -matrix: - include: - - python: 3.5 - dist: trusty - sudo: false - - python: 3.6 - dist: trusty - sudo: false - - python: 3.7 - dist: bionic - sudo: true - - python: 3.8 - dist: bionic - sudo: true - - python: 3.9 - dist: focal - sudo: true -install: pip install tox-travis -script: tox -deploy: - provider: pypi - distributions: "sdist bdist_wheel" - skip_existing: true - user: zmumi - password: - secure: JQpMT/b928b2kVVAu3ITls1+fzlGURgpSzNXpd9qzy1wcDiLMxj+3o1lnRlHuKaE5uQdNoyFYZjDxbQ7UKLC0tjMjlNSVw0sMtQab/QGSe1ze0WJmGAJOIcoxPgssF07LqXCeJKyWfYkzN7EoM9o0aeMYaQ0p/UWvEz0TkpEeULLcmKAW1W20Sn5j23ujS+M+YUXEJp0c/VlzIYAAdeutpl7+3Fdgo9BVxLh6e8eHh87JC4/n9aBRRYzwpWvpDXi5pZjvbrLgKnWCk4ZSL2g/wbjwpPcgbInBRzQlbf2/t9TydDRQKrqZyZtYGwN+5TDosB8ft597MlKVxPR1M2C7QomGJmEglGijisjt/3PmNdZ1yS8icSpCyLSHy2Xmroui/ePdTP8zDj6joV+J6aUPXunY8UdtoCtRSjBDX6b7RRcIM9OO2ZTAGenlblCcc9iXPVH+H3LPsT1uXYtNUi1/hMo37kV1vQWh96ceKLoSqT4ERyXBeZc/m9PZ/YJudPQCxDiOU3DzBhYznj07eHELQdOxLI3rCpXHBKxj7YG8EOjVGUIZ4c1uke6LN2RnLigIN7FUUcgj8PUY6afn7QnN1nJHubRx1niTOsd6G7gRoLP/mUkKM3Wxz1PrPmpXp98aa7wIX76FKcJlRXRtuw1/xFYZGcYBcAAyodG1dRq/uE= - on: - tags: true \ No newline at end of file diff --git a/README.rst b/README.rst index 86149a7..c45c010 100644 --- a/README.rst +++ b/README.rst @@ -7,8 +7,11 @@ .. image:: https://readthedocs.org/projects/memoize/badge/?version=latest :target: https://memoize.readthedocs.io/en/latest/?badge=latest -.. image:: https://travis-ci.com/DreamLab/memoize.svg?token=PCPPzZaRDc9FFFUfKaj9&branch=master - :target: https://travis-ci.com/DreamLab/memoize +.. image:: https://github.com/DreamLab/memoize/actions/workflows/tox-tests.yml/badge.svg + :target: https://github.com/DreamLab/memoize/actions/workflows/tox-tests.yml + +.. image:: https://github.com/DreamLab/memoize/actions/workflows/non-test-tox.yml/badge.svg + :target: https://github.com/DreamLab/memoize/actions/workflows/non-test-tox.yml Extended docs (including API docs) available at `memoize.readthedocs.io `_. diff --git a/tox.ini b/tox.ini index cfe4e01..f930a6a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,9 @@ [tox] skipdist = True -envlist = py{35,36,37,38,39}-{asyncio,tornado},coverage-py37,mypy-py37 + +# py-{asyncio,tornado} are added for GitHub Actions (where we have only one interpreter at the time) +# py{35,36,37,38,39}-{asyncio,tornado} are added for development purposes (where one has multiple interpreters) +envlist = py-{asyncio,tornado},py{35,36,37,38,39}-{asyncio,tornado},coverage-py37,mypy-py37 [testenv] setenv =