55nox .options .error_on_external_run = True
66
77
8- @nox .session (python = ("3.8 " , "3.9 " , "3.10 " , "3.11 " , "3.12 " ))
9- @nox .parametrize ("django" , ("3 .2" , "4 .2" , "5 .0" ))
8+ @nox .session (python = ("3.10 " , "3.11 " , "3.12 " , "3.13 " , "3.14 " ))
9+ @nox .parametrize ("django" , ("4 .2" , "5 .2" , "6 .0" ))
1010def tests (session , django ):
11- if django == "5.0" and session .python in ("3.8" , "3.9" ):
11+ # Django 6.0 requires Python 3.12+
12+ if django == "6.0" and session .python in ("3.10" , "3.11" ):
1213 session .skip ()
14+ major , minor = (int (x ) for x in django .split ("." ))
1315 session .install ("poetry" )
14- session .install (f"django>={ django } ,<{ django } .999 " )
15- session .install ("factory-boy>=2.9.2,<2.9.99999 " )
16+ session .install (f"django>={ django } ,<{ major } . { minor + 1 } " )
17+ session .install ("factory-boy>=3,<4 " )
1618 session .run (
1719 "poetry" ,
1820 "install" ,
@@ -23,7 +25,7 @@ def tests(session, django):
2325 session .run ("pytest" )
2426
2527
26- @nox .session (python = "3.8 " )
28+ @nox .session (python = "3.12 " )
2729def docs (session ):
2830 session .install ("poetry" )
2931 session .run (
@@ -42,7 +44,7 @@ def clean_docs(session):
4244 session .run ("rm" , "-rf" , "docs/_build" )
4345
4446
45- @nox .session (python = "3.8 " )
47+ @nox .session (python = "3.12 " )
4648def release_test (session ):
4749 session .install ("poetry" , "twine" )
4850 session .run (
0 commit comments