mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-25 11:04:02 +03:00
Move CI to GitHub Actions (#7903)
* Recreate all the jobs on GitHub Actions * Upgrade to Ubuntu 20.04 * Upgrade base/docs/dist to Python 3.9
This commit is contained in:
parent
90635c138f
commit
fd017d00f9
57
.github/workflows/main.yml
vendored
Normal file
57
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tests:
|
||||||
|
name: Python ${{ matrix.python-version }}
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
python-version:
|
||||||
|
- '3.6'
|
||||||
|
- '3.7'
|
||||||
|
- '3.8'
|
||||||
|
- '3.9'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
|
||||||
|
- name: Upgrade packaging tools
|
||||||
|
run: python -m pip install --upgrade pip setuptools virtualenv wheel
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: python -m pip install --upgrade codecov tox
|
||||||
|
|
||||||
|
- name: Run tox targets for ${{ matrix.python-version }}
|
||||||
|
run: |
|
||||||
|
ENV_PREFIX=$(tr -C -d "0-9" <<< "${{ matrix.python-version }}")
|
||||||
|
TOXENV=$(tox --listenvs | grep "^py$ENV_PREFIX" | tr '\n' ',') tox
|
||||||
|
|
||||||
|
- name: Run extra tox targets
|
||||||
|
if: ${{ matrix.python-version == '3.9' }}
|
||||||
|
run: |
|
||||||
|
python setup.py bdist_wheel
|
||||||
|
rm -r djangorestframework.egg-info # see #6139
|
||||||
|
tox -e base,dist,docs
|
||||||
|
tox -e dist --installpkg ./dist/djangorestframework-*.whl
|
||||||
|
|
||||||
|
- name: Upload coverage
|
||||||
|
run: |
|
||||||
|
codecov -e TOXENV,DJANGO
|
55
.travis.yml
55
.travis.yml
|
@ -1,55 +0,0 @@
|
||||||
language: python
|
|
||||||
cache: pip
|
|
||||||
dist: bionic
|
|
||||||
matrix:
|
|
||||||
fast_finish: true
|
|
||||||
include:
|
|
||||||
|
|
||||||
- { python: "3.5", env: DJANGO=2.2 }
|
|
||||||
|
|
||||||
- { python: "3.6", env: DJANGO=2.2 }
|
|
||||||
- { python: "3.6", env: DJANGO=3.0 }
|
|
||||||
- { python: "3.6", env: DJANGO=3.1 }
|
|
||||||
- { python: "3.6", env: DJANGO=3.2 }
|
|
||||||
|
|
||||||
- { python: "3.7", env: DJANGO=2.2 }
|
|
||||||
- { python: "3.7", env: DJANGO=3.0 }
|
|
||||||
- { python: "3.7", env: DJANGO=3.1 }
|
|
||||||
- { python: "3.7", env: DJANGO=3.2 }
|
|
||||||
|
|
||||||
- { python: "3.8", env: DJANGO=3.0 }
|
|
||||||
- { python: "3.8", env: DJANGO=3.1 }
|
|
||||||
- { python: "3.8", env: DJANGO=3.2 }
|
|
||||||
- { python: "3.8", env: DJANGO=main }
|
|
||||||
|
|
||||||
- { python: "3.9", env: DJANGO=3.1 }
|
|
||||||
- { python: "3.9", env: DJANGO=3.2 }
|
|
||||||
- { python: "3.9", env: DJANGO=main }
|
|
||||||
|
|
||||||
- { python: "3.8", env: TOXENV=base }
|
|
||||||
- { python: "3.8", env: TOXENV=docs }
|
|
||||||
|
|
||||||
- python: "3.8"
|
|
||||||
env: TOXENV=dist
|
|
||||||
script:
|
|
||||||
- python setup.py bdist_wheel
|
|
||||||
- rm -r djangorestframework.egg-info # see #6139
|
|
||||||
- tox --installpkg ./dist/djangorestframework-*.whl
|
|
||||||
- tox # test sdist
|
|
||||||
|
|
||||||
allow_failures:
|
|
||||||
- env: DJANGO=main
|
|
||||||
- env: DJANGO=3.2
|
|
||||||
|
|
||||||
install:
|
|
||||||
- pip install tox tox-travis
|
|
||||||
|
|
||||||
script:
|
|
||||||
- tox
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
- pip install codecov
|
|
||||||
- codecov -e TOXENV,DJANGO
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
18
tox.ini
18
tox.ini
|
@ -49,3 +49,21 @@ commands = mkdocs build
|
||||||
deps =
|
deps =
|
||||||
-rrequirements/requirements-testing.txt
|
-rrequirements/requirements-testing.txt
|
||||||
-rrequirements/requirements-documentation.txt
|
-rrequirements/requirements-documentation.txt
|
||||||
|
|
||||||
|
[testenv:py36-django32]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
||||||
|
[testenv:py37-django32]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
||||||
|
[testenv:py38-django32]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
||||||
|
[testenv:py39-django32]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
||||||
|
[testenv:py38-djangomain]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
||||||
|
[testenv:py39-djangomain]
|
||||||
|
ignore_outcome = true
|
||||||
|
|
Loading…
Reference in New Issue
Block a user