diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b8d443b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,44 @@ +name: django-woah CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + max-parallel: 2 + matrix: + python-version: [3.11, 3.12] + + services: + mysql: + image: mysql:8.0 + env: + MYSQL_DATABASE: test_db + MYSQL_ROOT_PASSWORD: secret + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r exported_requirements.txt + - name: Run Tests + env: + DB_ENGINE: django.db.backends.mysql + DB_NAME: test_db + DB_USER: root + DB_PASSWORD: secret + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + run: | + DJANGO_SETTINGS_MODULE=issue_tracker.settings pytest -vv --no-migrations examples/issue_tracker diff --git a/examples/issue_tracker/issue_tracker/settings.py b/examples/issue_tracker/issue_tracker/settings.py index 5a017a9..4cd361a 100644 --- a/examples/issue_tracker/issue_tracker/settings.py +++ b/examples/issue_tracker/issue_tracker/settings.py @@ -9,6 +9,7 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.2/ref/settings/ """ +import os from pathlib import Path @@ -80,8 +81,12 @@ DATABASES = { "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": BASE_DIR / "db.sqlite3", + "ENGINE": os.environ.get("DB_ENGINE", "django.db.backends.sqlite3"), + "NAME": os.environ.get("DB_NAME", BASE_DIR / "db.sqlite3"), + "USER": os.environ.get("DB_USER", ""), + "PASSWORD": os.environ.get("DB_PASSWORD", ""), + "HOST": os.environ.get("DB_HOST", ""), + "PORT": os.environ.get("DB_PORT", ""), } } diff --git a/exported_requirements.txt b/exported_requirements.txt new file mode 100644 index 0000000..1636c18 --- /dev/null +++ b/exported_requirements.txt @@ -0,0 +1,23 @@ +asgiref==3.7.2 ; python_version >= "3.11" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.11" and python_version < "4.0" and sys_platform == "win32" +django-stubs-ext==4.2.7 ; python_version >= "3.11" and python_version < "4.0" +django-stubs==4.2.7 ; python_version >= "3.11" and python_version < "4.0" +django==4.2.10 ; python_version >= "3.11" and python_version < "4.0" +djangorestframework==3.14.0 ; python_version >= "3.11" and python_version < "4.0" +iniconfig==2.0.0 ; python_version >= "3.11" and python_version < "4.0" +mpmath==1.3.0 ; python_version >= "3.11" and python_version < "4.0" +mypy-extensions==1.0.0 ; python_version >= "3.11" and python_version < "4.0" +mypy==1.8.0 ; python_version >= "3.11" and python_version < "4.0" +packaging==23.2 ; python_version >= "3.11" and python_version < "4.0" +pluggy==1.4.0 ; python_version >= "3.11" and python_version < "4.0" +pytest-django==4.8.0 ; python_version >= "3.11" and python_version < "4.0" +pytest==7.4.4 ; python_version >= "3.11" and python_version < "4.0" +pytz==2024.1 ; python_version >= "3.11" and python_version < "4.0" +ruff==0.1.15 ; python_version >= "3.11" and python_version < "4.0" +sqlparse==0.4.4 ; python_version >= "3.11" and python_version < "4.0" +sympy==1.12 ; python_version >= "3.11" and python_version < "4.0" +types-pytz==2024.1.0.20240203 ; python_version >= "3.11" and python_version < "4.0" +types-pyyaml==6.0.12.12 ; python_version >= "3.11" and python_version < "4.0" +typing-extensions==4.9.0 ; python_version >= "3.11" and python_version < "4.0" +tzdata==2023.4 ; python_version >= "3.11" and python_version < "4.0" and sys_platform == "win32" +uuid6==2023.5.2 ; python_version >= "3.11" and python_version < "4.0"