diff --git a/.github/workflows/lint-and-test.yml b/.github/workflows/lint-and-test.yml index 41d3553..028b654 100644 --- a/.github/workflows/lint-and-test.yml +++ b/.github/workflows/lint-and-test.yml @@ -1,6 +1,10 @@ name: Lint & Test -on: [push] +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] permissions: contents: read @@ -10,6 +14,12 @@ jobs: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" - name: Install dependencies run: | python -m pip install --upgrade pip @@ -27,21 +37,22 @@ jobs: black --check . test: + runs-on: ubuntu-latest strategy: matrix: - python_version: 3.8, 3.9, '3.10'] - django_version: [3.2, 4.0, 4.1.0, 4.2.2] + python_version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + django_version: ["3.2", "4.0", "4.1", "4.2", "5.0"] exclude: - # Ignore Django 4 on Python 3.7 - - python_version: 3.8 - django_version: 4.2.2 - runs-on: ubuntu-latest + - python-version: "3.8" + django-version: "5.0" + - python-version: "3.9" + django-version: "5.0" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python_version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} @@ -54,10 +65,10 @@ jobs: - name: Run tests run: | - coverage3 run --source='./encrypted_fields' manage.py test + coverage run --source="./encrypted_fields" manage.py test coverage xml - name: "Upload coverage to Codecov" - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 with: fail_ci_if_error: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index abb7406..0000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: python -python: - - "3.9" -env: - - DJANGO_VERSION=3.2 - - DJANGO_VERSION=4.0 - - DJANGO_VERSION=4.1 - - DJANGO_VERSION=4.2 -install: - - pip install -q Django==$DJANGO_VERSION - - pip install -q -r requirements.txt -script: python manage.py test \ No newline at end of file diff --git a/README.md b/README.md index 24c0dc0..e41e9ba 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://api.travis-ci.com/jazzband/django-fernet-encrypted-fields.png)](https://travis-ci.com/jazzband/django-fernet-encrypted-fields) +[![Build Status](https://github.com/jazzband/django-fernet-encrypted-fields/actions/workflows/lint-and-test.yml/badge.svg)](https://github.com/jazzband/django-fernet-encrypted-fields/actions/workflows/lint-and-test.yml) [![Pypi Package](https://badge.fury.io/py/django-fernet-encrypted-fields.png)](http://badge.fury.io/py/django-fernet-encrypted-fields) [![Jazzband](https://jazzband.co/static/img/badge.svg)](https://jazzband.co/) @@ -64,3 +64,4 @@ Currently build in and unit-tested fields. They have the same APIs as their non- | `4.0` |:heavy_check_mark:| | `4.1` |:heavy_check_mark:| | `4.2` |:heavy_check_mark:| +| `5.0` |:heavy_check_mark:| diff --git a/lint-and-test.yml b/lint-and-test.yml deleted file mode 100644 index e3123ce..0000000 --- a/lint-and-test.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Lint & Test - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -permissions: - contents: read - -jobs: - build: - strategy: - matrix: - django_version: [2.2, 3.0, 3.1, 3.2, 4.0a1] - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -q Django==${{ matrix.django_version }} - pip install flake8 coverage black - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - - name: Lint with Black - run: | - black --check . - - - name: Run tests - run: | - coverage3 run --source='./encrypted_fields' manage.py test - coverage xml - - - name: "Upload coverage to Codecov" - uses: codecov/codecov-action@v2 - with: - fail_ci_if_error: true