diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..470df091d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,93 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: + - '**' + + +jobs: + run_unittest_tests: + name: Unittest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: ["3.5", "3.6", "3.7", "3.8", "3.9"] + django-version: ["2.2", "3.0", "3.1", "3.2"] + exclude: + - python-version: "3.5" + django-version: "3.0" + - python-version: "3.5" + django-version: "3.1" + - python-version: "3.5" + django-version: "3.2" + + steps: + - uses: actions/checkout@v2 + - name: setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Dependencies + run: | + pip install --upgrade setuptools + pip install tox + + - name: Run unittest Python ${{ matrix.python-version }} -- Django ${{ matrix.django-version }} + env: + TOXENV: py${{ matrix.python-version }}-django${{ matrix.django-version }} + run: tox + + run_integration_tests: + name: Integration tests + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: ["3.5"] + + steps: + - uses: actions/checkout@v2 + - name: setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Dependencies + run: | + pip install --upgrade setuptools + pip install tox + + - name: Integration tests + env: + TOXENV: integration + run: tox + + run_quality_tests: + name: Quality tests + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: ["3.6"] + + steps: + - uses: actions/checkout@v2 + - name: setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Dependencies + run: | + pip install tox + + - name: Quality tests + env: + TOXENV: flake8 + run: | + tox diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a2f4bb072..000000000 --- a/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -# https://travis-ci.org/jschneier/django-storages/ -language: python -dist: focal - -cache: pip - -matrix: - fast_finish: true - include: - - env: TOXENV=flake8 - - python: 3.5 - env: TOXENV=integration - - python: 3.5 - env: TOXENV=py35-django22 - - python: 3.6 - env: TOXENV=py36-django22 - - python: 3.7 - env: TOXENV=py37-django22 - - python: 3.8 - env: TOXENV=py38-django22 - - python: 3.9 - env: TOXENV=py39-django22 - - python: 3.6 - env: TOXENV=py36-django30 - - python: 3.7 - env: TOXENV=py37-django30 - - python: 3.8 - env: TOXENV=py38-django30 - - python: 3.9 - env: TOXENV=py39-django30 - - python: 3.6 - env: TOXENV=py36-django31 - - python: 3.7 - env: TOXENV=py37-django31 - - python: 3.8 - env: TOXENV=py38-django31 - - python: 3.9 - env: TOXENV=py39-django31 - - python: 3.6 - env: TOXENV=py36-djangomain - - python: 3.7 - env: TOXENV=py37-djangomain - - python: 3.8 - env: TOXENV=py38-djangomain - - python: 3.9 - env: TOXENV=py39-djangomain - allow_failures: - - env: TOXENV=py36-djangomain - - env: TOXENV=py37-djangomain - - env: TOXENV=py38-djangomain - - env: TOXENV=py39-djangomain - -install: - - pip install tox - -script: - - tox diff --git a/tox.ini b/tox.ini index 559be1f31..ed0a4f17f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,11 @@ [tox] minversion = 1.9 envlist = - py{35,36,37,38,39}-django22 - py{36,37,38,39}-django30 - py{36,37,38,39}-django31 - py{36,37,38,39}-djangomain + py{3.5,3.6,3.7,3.8,3.9}-django2.2 + py{3.6,3.7,3.8,3.9}-django3.0 + py{3.6,3.7,3.8,3.9}-django3.1 + py{3.6,3.7,3.8,3.9}-django3.2 + py{3.6,3.7,3.8,3.9}-djangomain integration flake8 @@ -15,9 +16,10 @@ setenv = PYTHONDONTWRITEBYTECODE = 1 commands = pytest --cov=storages --ignore=tests/integration/ tests/ {posargs} deps = - django22: Django>=2.2,<3.0 - django30: Django>=3.0,<3.1 - django31: Django>=3.1,<3.2 + django2.2: Django>=2.2,<3.0 + django3.0: Django>=3.0,<3.1 + django3.1: Django>=3.1,<3.2 + django3.2: Django>=3.2,<4.0 djangomain: https://github.com/django/django/archive/main.tar.gz cryptography pytest