Skip to content

Commit 5815cc9

Browse files
authored
Merge pull request #5 from WesternFriend/rename-core-module
Migrate to Django 5 and reinitialize site structure
2 parents 29b0471 + bae850c commit 5815cc9

54 files changed

Lines changed: 2320 additions & 900 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Django project
2+
src/media/
3+
src/static/
4+
*.sqlite3
5+
6+
# Python and others
7+
__pycache__/
8+
*.pyc
9+
.DS_Store
10+
*.swp
11+
.venv/
12+
/tmp/
13+
/.vagrant/
14+
/Vagrantfile.local
15+
node_modules/
16+
/npm-debug.log
17+
/.idea/
18+
.vscode/
19+
.python-version
20+
21+
# Test / coverage artefacts
22+
.pytest_cache/
23+
htmlcov/
24+
coverage.*
25+
.coverage
26+
.coverage.*
27+
28+
# Tox
29+
.tox/
30+
31+
# uv
32+
.uv_cache/
33+
34+
# Pre-commit
35+
.pre-commit-cache/
36+
37+
# Distribution / packaging
38+
.Python
39+
env/
40+
build/
41+
develop-eggs/
42+
dist/
43+
downloads/
44+
eggs/
45+
.eggs/
46+
lib/
47+
lib64/
48+
parts/
49+
sdist/
50+
var/
51+
wheels/
52+
*.egg-info/
53+
.installed.cfg
54+
*.egg
55+
56+
# Git
57+
.git/
58+
.gitignore
59+
60+
# Documentation builds
61+
docs/_build/
62+
63+
# Jupyter Notebook
64+
.ipynb_checkpoints/
65+
66+
# mypy
67+
.mypy_cache/
68+
.dmypy.json
69+
dmypy.json
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
1. Go to '...'
15+
2. Click on '....'
16+
3. Scroll down to '....'
17+
4. See error
18+
19+
**Expected behavior**
20+
A clear and concise description of what you expected to happen.
21+
22+
**Screenshots**
23+
If applicable, add screenshots to help explain your problem.
24+
25+
**Environment:**
26+
- OS: [e.g. macOS, Ubuntu, Windows]
27+
- Python version: [e.g. 3.12]
28+
- Django version: [e.g. 5.2]
29+
- Wagtail version: [e.g. 7.0]
30+
- Browser [e.g. chrome, safari]:
31+
32+
**Additional context**
33+
Add any other context about the problem here.
34+
35+
**Logs**
36+
If applicable, add relevant log output or error messages.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**How does this relate to Quaker communities?**
19+
Please explain how this feature would benefit Quaker meetings, worship groups, or the broader Quaker community.
20+
21+
**Additional context**
22+
Add any other context or screenshots about the feature request here.
23+
24+
**Implementation ideas**
25+
If you have technical suggestions for how this could be implemented, please share them here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: Question
3+
about: Ask a question about using or contributing to QuakerCMS
4+
title: '[QUESTION] '
5+
labels: question
6+
assignees: ''
7+
---
8+
9+
**What's your question?**
10+
Please describe what you'd like to know about QuakerCMS.
11+
12+
**Context**
13+
Please provide context about:
14+
- What you're trying to accomplish
15+
- Your experience level with Django/Wagtail/Python
16+
- Your role in the Quaker community (if applicable)
17+
18+
**What have you tried?**
19+
- Have you checked the documentation?
20+
- Have you searched existing issues?
21+
- What approaches have you attempted?
22+
23+
**Environment (if relevant):**
24+
- OS: [e.g. macOS, Ubuntu, Windows]
25+
- Python version: [e.g. 3.12]
26+
- Installation method: [e.g. uv, pip, Docker]

.github/dependabot.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
version: 2
2+
updates:
3+
# Enable version updates for Python dependencies
4+
- package-ecosystem: "pip"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
day: "monday"
9+
time: "06:00"
10+
open-pull-requests-limit: 10
11+
reviewers:
12+
- "brylie"
13+
- "jfinmaniv"
14+
labels:
15+
- "dependencies"
16+
- "python"
17+
commit-message:
18+
prefix: "deps:"
19+
include: "scope"
20+
21+
# Enable version updates for GitHub Actions
22+
- package-ecosystem: "github-actions"
23+
directory: "/"
24+
schedule:
25+
interval: "weekly"
26+
day: "monday"
27+
time: "06:00"
28+
open-pull-requests-limit: 5
29+
reviewers:
30+
- "brylie"
31+
- "jfinmaniv"
32+
labels:
33+
- "dependencies"
34+
- "github-actions"
35+
commit-message:
36+
prefix: "ci:"
37+
include: "scope"

.github/pull_request_template.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Description
2+
<!-- Provide a brief description of the changes in this PR -->
3+
4+
## Type of Change
5+
<!-- Mark the relevant option with an "x" -->
6+
7+
- [ ] Bug fix (non-breaking change which fixes an issue)
8+
- [ ] New feature (non-breaking change which adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] Documentation update
11+
- [ ] Code refactoring
12+
- [ ] CI/CD improvements
13+
14+
## Related Issues
15+
<!-- Link any related issues. Use "Fixes #123" or "Closes #123" to auto-close issues when the PR is merged -->
16+
17+
## Testing
18+
<!-- Describe the tests you ran to verify your changes -->
19+
20+
- [ ] All existing tests pass
21+
- [ ] I have added tests for my changes
22+
- [ ] Manual testing performed
23+
- [ ] Pre-commit hooks pass
24+
25+
## Checklist
26+
<!-- Mark completed items with an "x" -->
27+
28+
- [ ] My code follows the project's coding standards
29+
- [ ] I have performed a self-review of my code
30+
- [ ] I have commented my code, particularly in hard-to-understand areas
31+
- [ ] I have made corresponding changes to the documentation
32+
- [ ] My changes generate no new warnings
33+
- [ ] Any dependent changes have been merged and published
34+
35+
## Screenshots (if applicable)
36+
<!-- Add screenshots to help explain your changes -->
37+
38+
## Additional Notes
39+
<!-- Add any other context about the pull request here -->

.github/workflows/ci.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.12", "3.13"]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install uv
20+
uses: astral-sh/setup-uv@v4
21+
with:
22+
version: "latest"
23+
24+
- name: Set up Python ${{ matrix.python-version }}
25+
run: uv python install ${{ matrix.python-version }}
26+
27+
- name: Install dependencies
28+
run: uv sync --all-extras --dev
29+
30+
- name: Run pre-commit hooks
31+
run: uv run pre-commit run --all-files
32+
33+
- name: Navigate to Django project and run migrations
34+
run: |
35+
cd src
36+
uv run python manage.py migrate
37+
38+
- name: Run Django tests with coverage
39+
run: |
40+
cd src
41+
uv run coverage run --source='.' manage.py test --debug-mode --verbosity=2 --keepdb
42+
uv run coverage report
43+
uv run coverage xml
44+
45+
- name: Run tests for analytics (pytest)
46+
run: |
47+
cd src
48+
uv run pytest --junitxml=test-results.xml -v
49+
50+
- name: Upload coverage reports to Codecov
51+
uses: codecov/codecov-action@v5
52+
with:
53+
token: ${{ secrets.CODECOV_TOKEN }}
54+
files: ./src/coverage.xml
55+
fail_ci_if_error: false
56+
57+
- name: Upload test results to Codecov
58+
if: ${{ !cancelled() }}
59+
uses: codecov/test-results-action@v1
60+
with:
61+
token: ${{ secrets.CODECOV_TOKEN }}
62+
files: ./src/test-results.xml
63+
64+
- name: Check Django system
65+
run: |
66+
cd src
67+
uv run python manage.py check
68+
69+
lint:
70+
runs-on: ubuntu-latest
71+
72+
steps:
73+
- uses: actions/checkout@v4
74+
75+
- name: Install uv
76+
uses: astral-sh/setup-uv@v4
77+
with:
78+
version: "latest"
79+
80+
- name: Set up Python
81+
run: uv python install 3.12
82+
83+
- name: Install dependencies
84+
run: uv sync --dev
85+
86+
- name: Run ruff linting
87+
run: uv run ruff check .
88+
89+
- name: Run ruff formatting check
90+
run: uv run ruff format --check .
91+
92+
security:
93+
runs-on: ubuntu-latest
94+
95+
steps:
96+
- uses: actions/checkout@v4
97+
98+
- name: Install uv
99+
uses: astral-sh/setup-uv@v4
100+
with:
101+
version: "latest"
102+
103+
- name: Set up Python
104+
run: uv python install 3.12
105+
106+
- name: Install dependencies
107+
run: uv sync --dev
108+
109+
- name: Run Django security check
110+
run: |
111+
cd src
112+
uv run python manage.py check --deploy

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ venv.bak/
103103
# mypy
104104
.mypy_cache/
105105

106-
.vscode/
106+
.vscode/

0 commit comments

Comments
 (0)