Merge pull request #267 from kitware-resonant/docker-compose #618
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 | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
cookiecutter-variables: ["include_example_code=yes", "include_example_code=no"] | |
services: | |
postgres: | |
image: postgres:alpine | |
env: | |
POSTGRES_DB: django | |
POSTGRES_PASSWORD: postgres | |
ports: | |
- 5432:5432 | |
rabbitmq: | |
image: rabbitmq:management-alpine | |
ports: | |
- 5672:5672 | |
minio: | |
# This image does not require any command arguments (which GitHub Actions don't support) | |
image: bitnami/minio:latest | |
env: | |
MINIO_ROOT_USER: minioAccessKey | |
MINIO_ROOT_PASSWORD: minioSecretKey | |
ports: | |
- 9000:9000 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Tags are needed to compute the current version number | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: "{{ cookiecutter.project_slug }}/.python-version" | |
- name: Install Python packages | |
run: | | |
pip install --upgrade pip | |
pip install build cookiecutter tox | |
- name: Build django-resonant-settings | |
run: | | |
python -m build --sdist | |
working-directory: django-resonant-settings | |
- name: Eject from cookiecutter | |
run: | | |
cookiecutter --no-input . project_name=Resonant ${{ matrix.cookiecutter-variables }} | |
- name: Run tox tests from new project | |
run: | | |
tox | |
env: | |
DJANGO_DATABASE_URL: postgres://postgres:postgres@localhost:5432/django | |
DJANGO_CELERY_BROKER_URL: amqp://localhost:5672/ | |
DJANGO_MINIO_STORAGE_ENDPOINT: localhost:9000 | |
DJANGO_MINIO_STORAGE_ACCESS_KEY: minioAccessKey | |
DJANGO_MINIO_STORAGE_SECRET_KEY: minioSecretKey | |
DJANGO_STORAGE_BUCKET_NAME: django-storage-testing | |
PIP_FIND_LINKS: file://${{ github.workspace }}/django-resonant-settings/dist | |
working-directory: resonant |