You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This modernises the project's README to match the current state of the
project (ie dropping tools we should look at), tidies up the prose to be
more succinct, and splits out contribution docs to CONTRIBUTING.md.
The contributor docs have been streamlined to point to the `make`
commands where possible. I've also added a section from #245 on where
the project is going. It's a long piece of work so my hope is this sets
expectations without making the maintainers feel bad when folks raise a
PR for defunct or soon-to-be-removed code paths.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ The [Low-hanging fruit tag](https://github.com/classy-python/ccbv/issues?q=is%3A
9
9
> CCBV runs as a Django site, pulling data from a database.
10
10
> This made it very fast to get up and running, and easy to maintain for the Django-using developers, but it has been a thorn in the side of the project for years.
11
11
> The dataset is entirely fixed.
12
-
> Any changes to the GCBVs only happen in a release of Django.
12
+
> Any changes to Django's generic class based views (GCBVs) only happen when Django makes a new release.
13
13
> We do not need to dynamically construct templates from the data on every request.
14
14
> We can write out some HTML and never touch it again (unless we feel like changing the site's styles!)
15
15
> The inspection code is tightly coupled to Django's GCBVs.
@@ -31,13 +31,15 @@ Add or remove the dependency from either `requirements.prod.in` or `requirements
31
31
Run `make compile` and appropriate txt file will be updated.
32
32
33
33
## Add data for new versions of Django
34
-
1. Update the `requirements.prod.in` file to pin the required version of Django
35
-
2. Run `make compile` to compile this change to `requirements.prod.txt`.
36
-
4. Update the project's code to run under the target version of Django, if necessary
37
-
5. Run `python manage.py populate_cbv` to introspect the running Django and populate the required objects in the database
38
-
6. Run `python manage.py fetch_docs_urls` to update the records in the database with the latest links to the Django documentation
39
-
7. Export the new Django version into a fixture with: `python manage.py cbv_dumpversion x.xx > cbv/fixtures/x.xx.json`
34
+
1. Update the `requirements.prod.in` file to pin the new version of Django, eg `django==5.1`
35
+
1. Run `make compile` to compile this change to `requirements.prod.txt`
36
+
1. Run `python manage.py populate_cbv` to introspect the installed Django and populate the required objects in the database
37
+
1. Run `python manage.py fetch_docs_urls` to update the records in the database with the latest links to the Django documentation, this will fail at 1.9, this is expected
38
+
1. Export the new Django version into a fixture with `python manage.py cbv_dumpversion x.xx > cbv/fixtures/x.xx.json`
39
+
1. Remove the empty Generic module from the generated JSON
40
+
1. Add the fixture to git with `git add cbv/fixtures/<version>.git`
41
+
1. Restore the requirements files with `git restore requirements.*`
42
+
1. Commit and push your changes, they will be deployed once your PR is merged to main
40
43
41
44
## Testing
42
45
Run `make test` to run the full test suite with coverage.
0 commit comments