diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..0056c05 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,53 @@ +name: Release + +on: + push: + tags: + - '*' + +jobs: + build: + if: github.repository == 'jazzband/django-admin2' + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Get pip cache dir + id: pip-cache + run: | + echo "::set-output name=dir::$(pip cache dir)" + + - name: Cache + uses: actions/cache@v2 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: release-${{ hashFiles('**/setup.py') }} + restore-keys: | + release- + + - name: Install dependencies + run: | + python -m pip install -U pip + python -m pip install -U setuptools twine wheel + + - name: Build package + run: | + python setup.py --version + python setup.py sdist --format=gztar bdist_wheel + twine check dist/* + + - name: Upload packages to Jazzband + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + user: jazzband + password: ${{ secrets.JAZZBAND_RELEASE_KEY }} + repository_url: https://jazzband.co/projects/django-admin2/upload diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..5eafa3e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,47 @@ +name: Test + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + matrix: + python-version: [3.5, 3.6, 3.7, 3.8] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Get pip cache dir + id: pip-cache + run: | + echo "::set-output name=dir::$(pip cache dir)" + + - name: Cache + uses: actions/cache@v2 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: + -${{ matrix.python-version }}-v1-${{ hashFiles('**/setup.py') }} + restore-keys: | + -${{ matrix.python-version }}-v1- + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install --upgrade tox tox-gh-actions + + - name: Tox tests + run: | + tox -v + + - name: Upload coverage + uses: codecov/codecov-action@v1 + with: + name: Python ${{ matrix.python-version }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 68bf21c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -sudo: false -language: python -cache: - directories: - - "~/.cache/pip" -python: -- '3.8' -- '3.7' -- '3.6' -- '3.5' -env: -- DJANGO=2.2 -- DJANGO=3.0 -- DJANGO=3.1 -- DJANGO=master -jobs: - exclude: - - python: '3.5' - env: DJANGO=3.0 - - python: '3.5' - env: DJANGO=3.1 - - python: '3.5' - env: DJANGO=master -install: -- pip install tox -script: -- tox -e py${TRAVIS_PYTHON_VERSION//[.]/}-$DJANGO -deploy: - provider: pypi - user: jazzband - distributions: sdist bdist_wheel - password: - secure: UQh5R++1zOsJm31oIL0w4YsIyP1A83kv/EdpwhuXqs8HZB+Mpo5h2ylu/qVioTaiXvYEVfO1myY57du7YvC+u6oOxD8tyduBOyZMJXa15+/kdVbvjlRWJ/c8wGgmjlOAun209g9WoTAMVX8t1+thHEJqWxx07nlnPCAJSmdms+w= - on: - tags: true - repo: jazzband/django-admin2 - # only do the PyPI release for exactly one scenario of the test matrix: - condition: "$DJANGO = 2.2" - python: 3.6 diff --git a/README.rst b/README.rst index 8f10652..481eeb3 100644 --- a/README.rst +++ b/README.rst @@ -5,14 +5,11 @@ django-admin2 .. image:: https://jazzband.co/static/img/badge.svg :target: https://jazzband.co/ :alt: Jazzband -.. image:: https://travis-ci.org/jazzband/django-admin2.png - :alt: Build Status - :target: https://travis-ci.org/jazzband/django-admin2 -.. image:: https://coveralls.io/repos/github/jazzband/django-admin2/badge.svg?branch=develop - :alt: Coverage Status - :target: https://coveralls.io/github/jazzband/django-admin2?branch=develop -.. image:: https://badges.gitter.im/Join Chat.svg - :target: https://gitter.im/pydanny/django-admin2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +.. image:: https://github.com/jazzband/django-admin2/workflows/Test/badge.svg + :target: https://github.com/jazzband/django-admin2/actions + :alt: GitHub Actions +.. image:: https://codecov.io/gh/jazzband/django-admin2/branch/develop/graph/badge.svg?token=PcC594rhI4 +:target: https://codecov.io/gh/jazzband/django-admin2 One of the most useful parts of ``django.contrib.admin`` is the ability to configure various views that touch and alter data. django-admin2 is a complete diff --git a/docs/contributing.rst b/docs/contributing.rst index 269631e..2fc6d41 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -132,7 +132,7 @@ Pull upstream changes into your fork regularly To pull in upstream changes:: - git remote add upstream https://github.com/twoscoops/django-admin2.git + git remote add upstream https://github.com/jazzband/django-admin2.git git pull upstream develop For more info, see http://help.github.com/fork-a-repo/ @@ -284,6 +284,6 @@ We finish with a merge and push to GitHub:: git push origin develop .. _installation: install.html -.. _GitHub project: https://github.com/twoscoops/django-admin2 -.. _issue tracker: https://github.com/twoscoops/django-admin2/issues +.. _GitHub project: https://github.com/jazzband/django-admin2 +.. _issue tracker: https://github.com/jazzband/django-admin2/issues .. _pydanny: http://pydanny.com diff --git a/docs/index.rst b/docs/index.rst index 8a1ab90..a610fde 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,9 +2,9 @@ Welcome to django-admin2's documentation! ========================================= -.. image:: https://travis-ci.org/jazzband/django-admin2.png - :alt: Build Status - :target: https://travis-ci.org/jazzband/django-admin2 +.. image:: https://github.com/jazzband/django-admin2/workflows/Test/badge.svg + :target: https://github.com/jazzband/django-admin2/actions + :alt: GitHub Actions **Warning:** This project is currently in an **alpha** state and currently not meant for real projects. diff --git a/requirements_test.txt b/requirements_test.txt index e0e5db5..3633baf 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,4 +1,5 @@ -rrequirements.txt flake8>=2.5.4 pytest -pytest-django \ No newline at end of file +pytest-django +pytest-cov diff --git a/tox.ini b/tox.ini index f8c876d..759cc7d 100644 --- a/tox.ini +++ b/tox.ini @@ -6,15 +6,21 @@ exclude = migrations/*,docs/* [tox] envlist = - py35-{2.2,3.0}, + py35-{2.2}, py36-{2.2,3.0,3.1}, py37-{2.2,3.0,3.1,master}, py38-{2.2,3.0,3.1,master}, +[gh-actions] +python = + 3.5: py35 + 3.6: py36 + 3.7: py37 + 3.8: py38 [testenv] commands = - py.test [] + pytest --cov-append --cov djadmin2 --cov-report=xml [] deps = -rrequirements_test.txt 3.1: Django>=3.1,<3.2