cookiecutter-django/.github/workflows/ci.yml

93 lines
2.2 KiB
YAML
Raw Normal View History

2020-11-09 21:46:19 +03:00
name: CI
on:
push:
pull_request:
2020-11-09 21:46:19 +03:00
jobs:
tox:
2020-11-09 21:46:19 +03:00
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tox-env:
2021-01-26 18:13:27 +03:00
- py39
- black-template
2020-11-09 21:46:19 +03:00
name: "tox env ${{ matrix.tox-env }}"
2020-11-09 21:46:19 +03:00
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
2020-11-09 21:46:19 +03:00
with:
2021-01-26 18:13:27 +03:00
python-version: 3.9
2020-11-09 21:46:19 +03:00
- 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"
name: "${{ matrix.script.name }} Docker"
2020-11-09 22:18:38 +03:00
env:
DOCKER_BUILDKIT: 1
COMPOSE_DOCKER_CLI_BUILD: 1
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
2021-01-26 18:13:27 +03:00
python-version: 3.9
- 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"
- name: With Gulp
args: "js_task_runner=Gulp custom_bootstrap_compilation=y"
name: "${{ matrix.script.name }} Bare metal"
services:
redis:
image: redis:5.0
ports:
- 6379:6379
postgres:
image: postgres:12
ports:
- 5432:5432
2020-11-09 22:23:48 +03:00
env:
POSTGRES_PASSWORD: postgres
env:
CELERY_BROKER_URL: "redis://localhost:6379/0"
2020-11-09 22:23:48 +03:00
# postgres://user:password@host:port/database
2020-11-09 22:28:09 +03:00
DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: "3.9"
- uses: actions/setup-node@v2
with:
node-version: "16"
- name: Bare Metal ${{ matrix.script.name }}
run: sh tests/test_bare.sh ${{ matrix.script.args }}