From 474172d6644fbb4812877ad5f2c2c1a41bd20738 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:22:19 -0700 Subject: [PATCH 01/13] move from travis to github actions --- .github/workflows/deploy.yml | 26 ++++++++++++++++++++ .github/workflows/lint.yml | 22 +++++++++++++++++ .github/workflows/tests.yml | 28 +++++++++++++++++++++ .travis.yml | 47 ------------------------------------ tox.ini | 19 ++++++++++++++- 5 files changed, 94 insertions(+), 48 deletions(-) create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..50ffc6ad --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,26 @@ +name: 🚀 Deploy to PyPI + +on: + push: + tags: + - 'v*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Build wheel and source tarball + run: | + pip install wheel + python setup.py sdist bdist_wheel + - name: Publish a Python distribution to PyPI + uses: pypa/gh-action-pypi-publish@v1.1.0 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..3fc35f9d --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,22 @@ +name: Lint + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox + - name: Run lint 💅 + run: tox + env: + TOXENV: flake8 \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..abc58f73 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,28 @@ +name: Tests + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + sql-alchemy: ["1.1", "1.2", "1.3", "1.4"] + python-version: ["3.6", "3.7", "3.8", "3.9"] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox tox-gh-actions + - name: Test with tox + run: tox + env: + SQLALCHEMY: ${{ matrix.sql-alchemy }} + TOXENV: ${{ matrix.toxenv }} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5a988428..00000000 --- a/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -language: python -matrix: - include: - # Python 2.7 - - env: TOXENV=py27 - python: 2.7 - # Python 3.5 - - env: TOXENV=py35 - python: 3.5 - # Python 3.6 - - env: TOXENV=py36 - python: 3.6 - # Python 3.7 - - env: TOXENV=py37 - python: 3.7 - dist: xenial - # SQLAlchemy 1.1 - - env: TOXENV=py37-sql11 - python: 3.7 - dist: xenial - # SQLAlchemy 1.2 - - env: TOXENV=py37-sql12 - python: 3.7 - dist: xenial - # SQLAlchemy 1.3 - - env: TOXENV=py37-sql13 - python: 3.7 - dist: xenial - # Pre-commit - - env: TOXENV=pre-commit - python: 3.7 - dist: xenial -install: pip install .[dev] -script: tox -after_success: coveralls -cache: - directories: - - $HOME/.cache/pip - - $HOME/.cache/pre-commit -deploy: - provider: pypi - user: syrusakbary - on: - tags: true - password: - secure: q0ey31cWljGB30l43aEd1KIPuAHRutzmsd2lBb/2zvD79ReBrzvCdFAkH2xcyo4Volk3aazQQTNUIurnTuvBxmtqja0e+gUaO5LdOcokVdOGyLABXh7qhd2kdvbTDWgSwA4EWneLGXn/SjXSe0f3pCcrwc6WDcLAHxtffMvO9gulpYQtUoOqXfMipMOkRD9iDWTJBsSo3trL70X1FHOVr6Yqi0mfkX2Y/imxn6wlTWRz28Ru94xrj27OmUnCv7qcG0taO8LNlUCquNFAr2sZ+l+U/GkQrrM1y+ehPz3pmI0cCCd7SX/7+EG9ViZ07BZ31nk4pgnqjmj3nFwqnCE/4IApGnduqtrMDF63C9TnB1TU8oJmbbUCu4ODwRpBPZMnwzaHsLnrpdrB89/98NtTfujdrh3U5bVB+t33yxrXVh+FjgLYj9PVeDixpFDn6V/Xcnv4BbRMNOhXIQT7a7/5b99RiXBjCk6KRu+Jdu5DZ+3G4Nbr4oim3kZFPUHa555qbzTlwAfkrQxKv3C3OdVJR7eGc9ADsbHyEJbdPNAh/T+xblXTXLS3hPYDvgM+WEGy3CytBDG3JVcXm25ZP96EDWjweJ7MyfylubhuKj/iR1Y1wiHeIsYq9CqRrFQUWL8gFJBfmgjs96xRXXXnvyLtKUKpKw3wFg5cR/6FnLeYZ8k= - distributions: "sdist bdist_wheel" diff --git a/tox.ini b/tox.ini index 562da2dc..c213a98c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,14 +1,31 @@ [tox] -envlist = pre-commit,py{27,35,36,37}-sql{11,12,13} +envlist = pre-commit,py{27,35,36,37,38,39}-sql{11,12,13,14} skipsdist = true minversion = 3.7.0 +[gh-actions] +python = + 2.7: py27 + 3.5: py35 + 3.6: py36 + 3.7: py37 + 3.8: py38 + 3.9: py39 + +[gh-actions:env] +SQLALCHEMY = + 1.1: sql11 + 1.2: sql12 + 1.3: sql13 + 1.4: sql14 + [testenv] deps = .[test] sql11: sqlalchemy>=1.1,<1.2 sql12: sqlalchemy>=1.2,<1.3 sql13: sqlalchemy>=1.3,<1.4 + sql14: sqlalchemy>=1.4,<1.5 commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} From a8466ae43d860d96bf302b700ad7b8b016d4d83f Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:27:54 -0700 Subject: [PATCH 02/13] add flake8 to tox --- tox.ini | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index c213a98c..2e176639 100644 --- a/tox.ini +++ b/tox.ini @@ -30,8 +30,14 @@ commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} [testenv:pre-commit] -basepython=python3.7 +basepython=python3.9 deps = .[dev] commands = pre-commit {posargs:run --all-files} + +[testenv:flake8] +basepython = python3.9 +deps = -e.[dev] +commands = + flake8 --exclude setup.py docs examples tests \ No newline at end of file From 47e9b2787f9fe538f76952570598998bc4d52d94 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:30:05 -0700 Subject: [PATCH 03/13] add flake8 as env in tox --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 2e176639..81031e48 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = pre-commit,py{27,35,36,37,38,39}-sql{11,12,13,14} +envlist = pre-commit,py{27,35,36,37,38,39}-sql{11,12,13,14},flake8 skipsdist = true minversion = 3.7.0 From 3d8f6d59dc90a89e7018c2bc5294562190470ca0 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:33:09 -0700 Subject: [PATCH 04/13] add flake8 to setup --- setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.py b/setup.py index 7b350c39..8e5e4550 100644 --- a/setup.py +++ b/setup.py @@ -62,6 +62,9 @@ "tox==3.7.0", # Should be kept in sync with tox.ini "coveralls==1.10.0", "pre-commit==1.14.4", + "flake8==3.7.9", + "flake8-black==0.1.1", + "flake8-bugbear==20.1.4", ], "test": tests_require, }, From e1caa376d0ac2a66e5997c4d9ca8655a772cc701 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:36:09 -0700 Subject: [PATCH 05/13] remove sqlalchemy 1.1 in tests --- tox.ini | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index 81031e48..baded8f8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = pre-commit,py{27,35,36,37,38,39}-sql{11,12,13,14},flake8 +envlist = pre-commit,py{27,35,36,37,38,39}-sql{12,13,14},flake8 skipsdist = true minversion = 3.7.0 @@ -14,7 +14,6 @@ python = [gh-actions:env] SQLALCHEMY = - 1.1: sql11 1.2: sql12 1.3: sql13 1.4: sql14 @@ -22,7 +21,6 @@ SQLALCHEMY = [testenv] deps = .[test] - sql11: sqlalchemy>=1.1,<1.2 sql12: sqlalchemy>=1.2,<1.3 sql13: sqlalchemy>=1.3,<1.4 sql14: sqlalchemy>=1.4,<1.5 From d5e17f28e5a599ced1d6cc96cd23786052b6b3b3 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:39:38 -0700 Subject: [PATCH 06/13] fix flake8 exclude --- tox.ini | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index baded8f8..b82ca1bc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = pre-commit,py{27,35,36,37,38,39}-sql{12,13,14},flake8 +envlist = pre-commit,py{27,35,36,37,38,39}-sql{12,13},flake8 skipsdist = true minversion = 3.7.0 @@ -16,14 +16,12 @@ python = SQLALCHEMY = 1.2: sql12 1.3: sql13 - 1.4: sql14 [testenv] deps = .[test] sql12: sqlalchemy>=1.2,<1.3 sql13: sqlalchemy>=1.3,<1.4 - sql14: sqlalchemy>=1.4,<1.5 commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} @@ -38,4 +36,4 @@ commands = basepython = python3.9 deps = -e.[dev] commands = - flake8 --exclude setup.py docs examples tests \ No newline at end of file + flake8 --exclude setup.py,docs,examples,tests \ No newline at end of file From edf90121b1524424d03dd3ea1061d879cea8e075 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 16:54:09 -0700 Subject: [PATCH 07/13] move coveralls to github action --- .github/workflows/tests.yml | 14 ++++++++++++-- setup.py | 2 -- tox.ini | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index abc58f73..367b3b5c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,7 +3,7 @@ name: Tests on: [push, pull_request] jobs: - build: + test: runs-on: ubuntu-latest strategy: max-parallel: 4 @@ -25,4 +25,14 @@ jobs: run: tox env: SQLALCHEMY: ${{ matrix.sql-alchemy }} - TOXENV: ${{ matrix.toxenv }} \ No newline at end of file + TOXENV: ${{ matrix.toxenv }} + + finish: + needs: test + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + parallel-finished: true \ No newline at end of file diff --git a/setup.py b/setup.py index 8e5e4550..4544800a 100644 --- a/setup.py +++ b/setup.py @@ -63,8 +63,6 @@ "coveralls==1.10.0", "pre-commit==1.14.4", "flake8==3.7.9", - "flake8-black==0.1.1", - "flake8-bugbear==20.1.4", ], "test": tests_require, }, diff --git a/tox.ini b/tox.ini index b82ca1bc..f71edf99 100644 --- a/tox.ini +++ b/tox.ini @@ -36,4 +36,4 @@ commands = basepython = python3.9 deps = -e.[dev] commands = - flake8 --exclude setup.py,docs,examples,tests \ No newline at end of file + flake8 --exclude setup.py,docs,examples,tests,.tox --max-line-length 120 \ No newline at end of file From dcce5dbd7514d0a500c069bfe9d3e87669f8914b Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:04:17 -0700 Subject: [PATCH 08/13] fix coverall github action config --- .github/workflows/tests.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 367b3b5c..b02699aa 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,7 +6,7 @@ jobs: test: runs-on: ubuntu-latest strategy: - max-parallel: 4 + max-parallel: 10 matrix: sql-alchemy: ["1.1", "1.2", "1.3", "1.4"] python-version: ["3.6", "3.7", "3.8", "3.9"] @@ -26,6 +26,12 @@ jobs: env: SQLALCHEMY: ${{ matrix.sql-alchemy }} TOXENV: ${{ matrix.toxenv }} + - name: Coveralls Parallel + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + flag-name: run-${{ matrix.python-version }}-${{ matrix.sql-alchemy }} + parallel: true finish: needs: test From a95fc4268581bae28149a81d897512c08badc69e Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:20:10 -0700 Subject: [PATCH 09/13] move coveralls to tox --- .github/workflows/tests.yml | 18 +----------------- tox.ini | 2 ++ 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b02699aa..4dab7c7d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -25,20 +25,4 @@ jobs: run: tox env: SQLALCHEMY: ${{ matrix.sql-alchemy }} - TOXENV: ${{ matrix.toxenv }} - - name: Coveralls Parallel - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - flag-name: run-${{ matrix.python-version }}-${{ matrix.sql-alchemy }} - parallel: true - - finish: - needs: test - runs-on: ubuntu-latest - steps: - - name: Coveralls Finished - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - parallel-finished: true \ No newline at end of file + TOXENV: ${{ matrix.toxenv }} \ No newline at end of file diff --git a/tox.ini b/tox.ini index f71edf99..1ac82616 100644 --- a/tox.ini +++ b/tox.ini @@ -18,12 +18,14 @@ SQLALCHEMY = 1.3: sql13 [testenv] +passenv = GITHUB_* deps = .[test] sql12: sqlalchemy>=1.2,<1.3 sql13: sqlalchemy>=1.3,<1.4 commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} + coveralls [testenv:pre-commit] basepython=python3.9 From fdb88f63e70ffcef3b3bc051d90ba70f6c87ae9d Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:23:17 -0700 Subject: [PATCH 10/13] move coveralls dep to test list --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4544800a..dcedecb5 100644 --- a/setup.py +++ b/setup.py @@ -31,6 +31,7 @@ "pytest-cov==2.6.1", "sqlalchemy_utils==0.33.9", "pytest-benchmark==3.2.1", + "coveralls==1.10.0", ] setup( @@ -60,7 +61,6 @@ extras_require={ "dev": [ "tox==3.7.0", # Should be kept in sync with tox.ini - "coveralls==1.10.0", "pre-commit==1.14.4", "flake8==3.7.9", ], From 5462fdca1e69ff6f2239916c023c8929e2771bc0 Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:27:46 -0700 Subject: [PATCH 11/13] add coverage command --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 1ac82616..80e309a2 100644 --- a/tox.ini +++ b/tox.ini @@ -25,6 +25,7 @@ deps = sql13: sqlalchemy>=1.3,<1.4 commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} + coverage run --source=graphene_sqlalchemy setup.py test coveralls [testenv:pre-commit] From 3d7e0299596023bb21814203ef14a476e06c704b Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:38:10 -0700 Subject: [PATCH 12/13] move coveralls back into github action --- .github/workflows/tests.yml | 14 ++++++++++++-- setup.py | 1 - tox.ini | 2 -- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4dab7c7d..4adb26f6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,7 +8,7 @@ jobs: strategy: max-parallel: 10 matrix: - sql-alchemy: ["1.1", "1.2", "1.3", "1.4"] + sql-alchemy: ["1.2", "1.3"] python-version: ["3.6", "3.7", "3.8", "3.9"] steps: @@ -25,4 +25,14 @@ jobs: run: tox env: SQLALCHEMY: ${{ matrix.sql-alchemy }} - TOXENV: ${{ matrix.toxenv }} \ No newline at end of file + TOXENV: ${{ matrix.toxenv }} + - name: Upload coverage.xml + if: ${{ matrix.sql-alchemy == '1.3' && matrix.python-version == '3.9' }} + uses: actions/upload-artifact@v2 + with: + name: graphene-sqlalchemy-coverage + path: coverage.xml + if-no-files-found: error + - name: Upload coverage.xml to codecov + if: ${{ matrix.sql-alchemy == '1.3' && matrix.python-version == '3.9' }} + uses: codecov/codecov-action@v1 \ No newline at end of file diff --git a/setup.py b/setup.py index dcedecb5..e20a1750 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,6 @@ "pytest-cov==2.6.1", "sqlalchemy_utils==0.33.9", "pytest-benchmark==3.2.1", - "coveralls==1.10.0", ] setup( diff --git a/tox.ini b/tox.ini index 80e309a2..15dc576a 100644 --- a/tox.ini +++ b/tox.ini @@ -25,8 +25,6 @@ deps = sql13: sqlalchemy>=1.3,<1.4 commands = pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} - coverage run --source=graphene_sqlalchemy setup.py test - coveralls [testenv:pre-commit] basepython=python3.9 From 19c63ff2b3c87dc30481e307a6ef63e4143ce04e Mon Sep 17 00:00:00 2001 From: Mel van Londen <melvanlonden@gmail.com> Date: Sun, 5 Sep 2021 17:42:13 -0700 Subject: [PATCH 13/13] modify coverage output --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 15dc576a..69d84f92 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ deps = sql12: sqlalchemy>=1.2,<1.3 sql13: sqlalchemy>=1.3,<1.4 commands = - pytest graphene_sqlalchemy --cov=graphene_sqlalchemy {posargs} + pytest graphene_sqlalchemy --cov=graphene_sqlalchemy --cov-report=term --cov-report=xml {posargs} [testenv:pre-commit] basepython=python3.9