diff --git a/.github/workflows/bandit.yaml b/.github/workflows/bandit.yaml
index 0abee46..7f52e3c 100644
--- a/.github/workflows/bandit.yaml
+++ b/.github/workflows/bandit.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Security Analysis (bandit)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
bandit:
diff --git a/.github/workflows/django.yaml b/.github/workflows/django.yaml
new file mode 100644
index 0000000..df74ee1
--- /dev/null
+++ b/.github/workflows/django.yaml
@@ -0,0 +1,31 @@
+name: Django Check
+
+on:
+ pull_request:
+ types: [opened, synchronize, reopened]
+
+jobs:
+ django-check:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.13"
+
+ - name: Install dependencies
+ run: |
+ pip install -e .
+
+ - name: Run Django check
+ env:
+ DJANGO_SETTINGS_MODULE: core.settings
+ DB_ENGINE: django.db.backends.sqlite3
+ DB_NAME: test_db.sqlite3
+ SECRET_KEY: test_secret_key
+ DJANGO_DEBUG: False
+ run: |
+ cd src/django_project
+ python manage.py check
diff --git a/.github/workflows/fawltydeps.yaml b/.github/workflows/fawltydeps.yaml
index 59bf53b..cbd1d42 100644
--- a/.github/workflows/fawltydeps.yaml
+++ b/.github/workflows/fawltydeps.yaml
@@ -1,4 +1,8 @@
-on: [push]
+name: Dependency Consistency Check (fawltydeps)
+
+on:
+ pull_request:
+ types: [opened, synchronize, reopened]
jobs:
fawltydeps:
diff --git a/.github/workflows/isort.yaml b/.github/workflows/isort.yaml
index d483f52..f7564e3 100644
--- a/.github/workflows/isort.yaml
+++ b/.github/workflows/isort.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Import Order Validation (isort)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
isort:
diff --git a/.github/workflows/mypy.yaml b/.github/workflows/mypy.yaml
index 0b586c3..1da7730 100644
--- a/.github/workflows/mypy.yaml
+++ b/.github/workflows/mypy.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Type Checking (mypy)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
mypy:
diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml
index 11c2b50..d432e08 100644
--- a/.github/workflows/pytest.yaml
+++ b/.github/workflows/pytest.yaml
@@ -1,4 +1,8 @@
-on: [push]
+name: Unittest Execution (pytest)
+
+on:
+ pull_request:
+ types: [opened, synchronize, reopened]
jobs:
pytest:
diff --git a/.github/workflows/radon.yaml b/.github/workflows/radon.yaml
index 7bb495a..8277e48 100644
--- a/.github/workflows/radon.yaml
+++ b/.github/workflows/radon.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Code Metrics Analysis (radon)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
radon:
diff --git a/.github/workflows/ruff_format.yaml b/.github/workflows/ruff_format.yaml
index 280f8a8..8bfcd67 100644
--- a/.github/workflows/ruff_format.yaml
+++ b/.github/workflows/ruff_format.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Code Consistency Check (ruff format)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
ruff:
diff --git a/.github/workflows/ruff_lint.yaml b/.github/workflows/ruff_lint.yaml
index 4978af7..9728d31 100644
--- a/.github/workflows/ruff_lint.yaml
+++ b/.github/workflows/ruff_lint.yaml
@@ -1,4 +1,9 @@
-on: [push]
+name: Static Code Analysis (ruff)
+
+on:
+ push:
+ branches-ignore:
+ - main
jobs:
ruff:
diff --git a/pyproject.toml b/pyproject.toml
index 0992fbe..fe144df 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,6 +12,7 @@ dependencies = [
"django-filter==25.1",
"django-handyhelpers",
"flower",
+ "Pillow",
"psycopg2-binary",
"redis",
"requests>=2.26.0",
@@ -140,7 +141,7 @@ ignore_unused = [
"mypy",
"mypy-extensions",
"ruff",
- "pillow",
+ "Pillow",
"psycopg2-binary",
"pytest",
"pytest-cov",
diff --git a/src/django_project/web/scripts/initialize_data.py b/src/django_project/web/scripts/initialize_data.py
index 025c655..caed0af 100644
--- a/src/django_project/web/scripts/initialize_data.py
+++ b/src/django_project/web/scripts/initialize_data.py
@@ -63,6 +63,12 @@ def create_groups() -> None:
"platform": "Eventbrite",
"platform page": "https://www.eventbrite.com/o/intellitect-114361599431",
},
+ {
+ "name": "Spokane ISSA",
+ "icon": """""",
+ "platform": "Eventbrite",
+ "platform page": "https://www.eventbrite.com/o/spokane-issa-120762885954",
+ },
{
"name": "Greater Spokane Inc",
"icon": """""",