From 41969a5eeb9f06c45871e44642c65b74f53f906e Mon Sep 17 00:00:00 2001 From: Grey Li Date: Tue, 17 Oct 2023 21:19:14 +0800 Subject: [PATCH] Update CI setup --- .github/workflows/build.yml | 27 +++++++++++++++++++++++ .gitignore | 4 ++++ CHANGES | 7 ++++++ requirements-dev.pip | 5 ----- requirements.in | 5 +++++ requirements.txt | 44 +++++++++++++++++++++++++++++++++++++ setup.py | 4 +--- tox.ini | 19 ++++++++++++---- 8 files changed, 103 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 requirements-dev.pip create mode 100644 requirements.in create mode 100644 requirements.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ab1da3c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,27 @@ +name: build + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + tests: + name: tests + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] + fail-fast: false + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - run: python -m pip install --upgrade pip wheel + - run: pip install tox tox-gh-actions + - run: tox diff --git a/.gitignore b/.gitignore index eb9ee8c..557ba8b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,7 @@ /build/ /dist/ /src/Flask_Assets.egg-info/ +venv +tests/static +.eggs/ + diff --git a/CHANGES b/CHANGES index bccdc4e..9326e1a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +2.1.0 + - Drop Python 2.x and Python 3.6 support. + - Migrate from nose to pytest. + - Migrate from Travis to GitHub Actions. + - Test against Python 3.7 - 3.12. + - Fix compatibility with Flask 2.0 and 3.0. + 2.0 (2019-12-20) - Compatibility with webassets 2.0. diff --git a/requirements-dev.pip b/requirements-dev.pip deleted file mode 100644 index 75a296f..0000000 --- a/requirements-dev.pip +++ /dev/null @@ -1,5 +0,0 @@ -nose -Flask-Script>=0.3.3 -webassets==0.11.1 -PyYAML -pyScss>=1.1.5 diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..a2dc079 --- /dev/null +++ b/requirements.in @@ -0,0 +1,5 @@ +pytest +Flask-Script +webassets +PyYAML +pyScss diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..46cacb3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,44 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile +# +blinker==1.6.3 + # via flask +click==8.1.7 + # via flask +exceptiongroup==1.1.3 + # via pytest +flask==3.0.0 + # via flask-script +flask-script==2.0.6 + # via -r requirements.in +iniconfig==2.0.0 + # via pytest +itsdangerous==2.1.2 + # via flask +jinja2==3.1.2 + # via flask +markupsafe==2.1.3 + # via + # jinja2 + # werkzeug +packaging==23.2 + # via pytest +pluggy==1.3.0 + # via pytest +pyscss==1.4.0 + # via -r requirements.in +pytest==7.4.2 + # via -r requirements.in +pyyaml==6.0.1 + # via -r requirements.in +six==1.16.0 + # via pyscss +tomli==2.0.1 + # via pytest +webassets==0.11.1 + # via -r requirements.in +werkzeug==3.0.0 + # via flask diff --git a/setup.py b/setup.py index 08cfe8d..ef27edd 100755 --- a/setup.py +++ b/setup.py @@ -60,14 +60,12 @@ def parse_version(asignee): 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 3', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', 'Topic :: Software Development :: Libraries :: Python Modules' ], - test_suite='nose.collector', tests_require=[ - 'nose', + 'pytest', 'flask-script' ], ) diff --git a/tox.ini b/tox.ini index 1d385d5..75b9c6c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,18 @@ [tox] -envlist = py26, py27, py33, pypy +envlist = py37, py38, py39, py310, py311, py312 +skip_missing_interpreters = true + +[gh-actions] +python = + 3.7: py37 + 3.8: py38 + 3.9: py39 + 3.10: py310 + 3.11: py311 + 3.12: py312 [testenv] -commands = nosetests tests -deps = - -r{toxinidir}/requirements-dev.pip +deps = + -r requirements.txt +commands = + pytest