diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..fd9668459e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,85 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + +jobs: + tox: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tox-env: + - py38 + - black-template + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install dependencies + run: | + python -m pip install -U pip + python -m pip install -U tox + - name: Tox ${{ matrix.tox-env }} + run: tox -e ${{ matrix.tox-env }} + + docker: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + script: + - name: Basic + args: "" + - name: Extended + args: "use_celery=y use_drf=y js_task_runner=Gulp" + + env: + DOCKER_BUILDKIT: 1 + COMPOSE_DOCKER_CLI_BUILD: 1 + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Docker ${{ matrix.script.name }} + run: sh tests/test_docker.sh ${{ matrix.script.args }} + + bare: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + script: + - name: With Celery + args: "use_celery=y use_compressor=y" + + services: + redis: + image: redis:5.0 + ports: + - 6379:6379 + postgres: + image: postgres:12 + ports: + - 5432:5432 + env: + POSTGRES_PASSWORD: postgres + + env: + CELERY_BROKER_URL: "redis://localhost:6379/0" + # postgres://user:password@host:port/database + DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres" + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Bare Metal ${{ matrix.script.name }} + run: sh tests/test_bare.sh ${{ matrix.script.args }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index bfd008e77c..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -services: - - docker - -language: python - -python: 3.8 - -before_install: - - docker-compose -v - - docker -v - -matrix: - include: - - name: Test results - script: tox -e py38 - - name: Black template - script: tox -e black-template - - name: Basic Docker - script: sh tests/test_docker.sh - - name: Extended Docker - script: sh tests/test_docker.sh use_celery=y use_drf=y js_task_runner=Gulp - - name: Bare metal - script: sh tests/test_bare.sh use_celery=y use_compressor=y - services: - - postgresql - - redis-server - env: - - CELERY_BROKER_URL=redis://localhost:6379/0 - -install: - - pip install tox - -notifications: - email: - on_success: change - on_failure: always diff --git a/README.rst b/README.rst index f964635f9b..dbc510a477 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ Cookiecutter Django -======================= +=================== -.. image:: https://travis-ci.org/pydanny/cookiecutter-django.svg?branch=master - :target: https://travis-ci.org/pydanny/cookiecutter-django?branch=master +.. image:: https://img.shields.io/github/workflow/status/pydanny/cookiecutter-django/CI/master + :target: https://github.com/pydanny/cookiecutter-django/actions?query=workflow%3ACI :alt: Build Status .. image:: https://readthedocs.org/projects/cookiecutter-django/badge/?version=latest