Initial commit from cookiecutter #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Enable Buildkit and let compose use it to speed up image building | |
env: | |
DOCKER_BUILDKIT: 1 | |
COMPOSE_DOCKER_CLI_BUILD: 1 | |
on: | |
pull_request: | |
branches: ['master', 'main'] | |
paths-ignore: ['docs/**'] | |
push: | |
branches: ['master', 'main'] | |
paths-ignore: ['docs/**'] | |
concurrency: | |
group: ${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
linter: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code Repository | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
# Consider using pre-commit.ci for open source project | |
- name: Run pre-commit | |
uses: pre-commit/action@v3.0.1 | |
# With no caching at all the entire ci process takes 3m to complete! | |
pytest: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code Repository | |
uses: actions/checkout@v4 | |
- name: Build the Stack | |
run: docker compose -f docker-compose.local.yml build django | |
- name: Build the docs | |
run: docker compose -f docker-compose.docs.yml build docs | |
- name: Check DB Migrations | |
run: docker compose -f docker-compose.local.yml run --rm django python manage.py makemigrations --check | |
- name: Run DB Migrations | |
run: docker compose -f docker-compose.local.yml run --rm django python manage.py migrate | |
- name: Run Django Tests | |
run: docker compose -f docker-compose.local.yml run django pytest | |
- name: Tear down the Stack | |
run: docker compose -f docker-compose.local.yml down |